问题描述
在阅读文章Detecting Java OutOfMemoryError before it happens之后,我们决定在我们的项目中实现这种内存不足检测。不幸的是,使用G1 GC不能按预期工作。
使用过的MEMORY_COLLECTION_THRESHOLD_EXCEEDED
的Javadoc说
通知类型,表示在Java虚拟机花费大量精力回收该内存池中未使用的对象之后,内存池的内存使用量大于或等于其收集使用量阈值。此通知由MemoryMXBean发出。此通知类型的值是java.management.memory.collection.threshold.exceeded。
使用G1 GC时,提到的expended effort in recycling unused objects
并不意味着完整的GC。内存使用率测量非常频繁地执行,而不仅仅是在完全GC之后。可能会导致过早的内存不足检测。
您遇到类似的问题吗?您有什么解决办法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)