作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在查看 Java Flight Recorder 转储中的事件,我看到一个 VM 操作 GC_HeapInspection
花费了 6 秒。
这发生在其他监控报告类似延迟的时刻。
有趣的是,详细的GC日志不会报告任何超过160毫秒的GC。
我计划使用以下内容进行另一次测试,看看延迟是否是由于执行安全点的时间造成的
-XX:+PrintGCApplicationStoppedTime -XX:+PrintSafepointStatistics -XX:PrintSafepointStatisticsCount=1
但是,对于这个问题我想知道什么是 GC_HeapInspection
以及什么可以触发它?
最佳答案
如果我没记错的话,GC_HeapInspection
是指 JVM 正在检查堆,以便找到可以进行垃圾收集的对象。这意味着它会扫描所有内存,然后检查每个对象的引用。它(可能)*在 GC 本身之前或 STW 事件之前触发。
由于这只是检查,因此它可能*不会记录为 GC。只要您不使用串行 GC 或并行 GC,它就不应该停止您的应用程序。 (只是在一定程度上减慢它的速度。除非有 STW 事件,这肯定会比你所有其他 GC 都要短。)
*注意:这不是来自任何文档,我只是假设 HeapInspection
意味着它正在检查堆,然后处理我从那里知道的事情。
关于java - 什么是 GC_HeapInspection 以及什么可以触发它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60642020/
我正在查看 Java Flight Recorder 转储中的事件,我看到一个 VM 操作 GC_HeapInspection 花费了 6 秒。 这发生在其他监控报告类似延迟的时刻。 有趣的是,详细的
我是一名优秀的程序员,十分优秀!