【发布时间】:2020-01-21 00:06:54
【问题描述】:
我已经阅读了 G1GC 日志中打印的一些不同时间的描述,但是当我在本地制作它们时无法真正证明/理解。例如,以下日志是在我的带有 Java 11 的 PC 上生成的。我想知道,第一行的 0.500ms 与第二行的 0.01s 有什么区别?应用程序是暂停(因为 STW)0.500 毫秒还是 10 毫秒(0.01 秒)?我尝试了 GCeasy 之类的工具,它显示最大暂停时间为 10 毫秒,在 Real = 0.00 的情况下,GCeasy 显示最小暂停时间为 0 毫秒。我想知道,那么 0.500ms 代表什么样的停顿呢?
[9.090s][info][gc] GC(25) 暂停 Young (Normal) (G1 疏散暂停) 77M->2M(128M) 0.500ms
[9.090s][信息][gc,cpu] GC(25) 用户=0.00s 系统=0.00s 实际=0.01s
编辑:gc.logs 与 JMC 中的 GC 暂停时间差异
【问题讨论】:
-
@eugene 你确定吗,总时间是 10 毫秒。因为,我的日志显示了许多情况下暂停时间存在(非零)但 Real 仍然为 0?
-
我把评论删了,因为我冲进去了,不正确。
标签: java garbage-collection g1gc