【问题标题】:How to extract key infromation from G1 gc log如何从 G1 gc log 中提取关键信息
【发布时间】:2015-04-20 05:51:22
【问题描述】:

我发现 G1 GC 日志有点神秘,我想问一下日志文件本身是否可以用于了解用于 GC 的特定时间窗口的总“停止世界”时间?

另外,如何为 G1 收集器指定完整的 gc 循环?我看到很多 GC 暂停(年轻),但没有与完整 GC 相当的东西。当然可能是因为还没有发生,但我不能肯定。

任何反馈都将不胜感激。

问候, 鲍勃

【问题讨论】:

    标签: java garbage-collection overhead utilization g1gc


    【解决方案1】:

    我看到了很多 GC 暂停(年轻),但没有与完整 GC 相当的东西

    理想情况下,Full GC 不应该在 G1 中发生,而是会尝试执行混合收集(年轻区域 + 一些旧区域),它们会显示为 [GC pause (mixed), ...]

    完整的 GC 也会说明其原因 [Full GC (Allocation Failure), ...]

    我想问一下日志文件本身是否可以用于了解用于 GC 的特定时间窗口的总“停止世界”时间?

    您可以尝试GCViewer 来可视化日志。虽然它不会让您详细了解 STW 期间到底发生了什么,但您需要阅读详细日志,这些日志在 here

    中有解释

    【讨论】:

    • 感谢您的提示,我会尝试使用 GCViewer。另一方面,我注意到每秒有一到两个年轻代集合。是不是太过分了? JVM 的正常年轻代收集率是多少?谢谢,鲍勃
    • 另外,有没有人知道VisualVM的VisualGC插件是否也吐出了总的“stop-the-world”时间?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 2023-03-28
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多