Java 当达到堆使用率的80%时发出通知

Java 当达到堆使用率的80%时发出通知,java,garbage-collection,jmx,Java,Garbage Collection,Jmx,我在堆上有一个内部缓存。我想通知堆的利用率何时达到80%(在gc收集之后),以便我可以安排增加堆大小(或其他一些操作) 我在看:,特别是: 看起来我可以在这里设置阈值:,但是我不确定这是否会产生任何不希望的影响 实现我所追求的目标的最佳方法是什么?您可以看看Hive是如何做到的,它在多次检查后调用方法 如果要将阈值设置为80%,则应按照以下公式计算该值: MemoryPoolMXBean pool = ... pool.setUsageThreshold((long) Math.floor(p

我在堆上有一个内部缓存。我想通知堆的利用率何时达到80%(在gc收集之后),以便我可以安排增加堆大小(或其他一些操作)

我在看:,特别是:

看起来我可以在这里设置阈值:,但是我不确定这是否会产生任何不希望的影响


实现我所追求的目标的最佳方法是什么?

您可以看看Hive是如何做到的,它在多次检查后调用方法

如果要将阈值设置为80%,则应按照以下公式计算该值:

MemoryPoolMXBean pool = ... 
pool.setUsageThreshold((long) Math.floor(pool.getUsage().getMax() * 0.8));