gpt4 book ai didi

java - 堆使用率达到 80% 时发出通知

转载 作者:搜寻专家 更新时间:2023-11-01 03:15:41 26 4
gpt4 key购买 nike

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

我正在查看:https://docs.oracle.com/javase/7/docs/api/java/lang/management/MemoryMXBean.html ,特别是:https://docs.oracle.com/javase/7/docs/api/java/lang/management/MemoryNotificationInfo.html#MEMORY_COLLECTION_THRESHOLD_EXCEEDED

看来我可以在这里设置阈值:https://docs.oracle.com/javase/7/docs/api/java/lang/management/MemoryPoolMXBean.html#setCollectionUsageThreshold(long) ,但是我不确定这是否会产生任何不良影响。

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

最佳答案

您可以在 HeapMemoryMonitor class 中查看 Hive 是如何做到的这叫MemoryPoolMXBean.setUsageThreshold()完成多次检查后的方法。

如果您想将阈值设置为 80%,您应该计算该值:

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

关于java - 堆使用率达到 80% 时发出通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54004593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com