java - 如何从G1 gc日志中提取关键信息

标签 java garbage-collection overhead utilization g1gc

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

另外,G1收集器的完整GC周期是如何指定的?我看到很多 GC 暂停(年轻),但没有相当于完整 GC 的情况。当然,这可能是因为还没有发生,但我不能肯定地说。

如有任何反馈,我们将不胜感激。

问候, 鲍勃

最佳答案

I see a lot of GC pause(young) but nothing equivalent for a full GC

理想情况下,完全GC不应在G1中发生,并且它将尝试执行混合收集(年轻区域+一些旧区域),相反,它们将显示为类似[GC暂停(混合),.. .]

完整GC也会说明其原因[Full GC(分配失败),...]

I wanted to ask can the log file itself be used to understand the total "stop the world" time for a specific time window that was used for GC?

您可以尝试GCViewer可视化日志。尽管它不会为您提供 STW 期间到底发生了什么的细粒度分割,但为此您需要阅读详细日志,这些日志已在 here 中进行了解释。

关于java - 如何从G1 gc日志中提取关键信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28596995/

相关文章:

python - 使用从循环内的代码片段中提取的函数来避免代码冗余/计算开销

c - 为什么调用函数时会有开销?

java - 为什么 Spring Boot 应用程序使用 @Async 注解的方法会崩溃

java - 如何预测jvm垃圾收集

java - Tomcat 垃圾回收器 : two machines with the same settings behave differently

java - 如何通过 JMX 或代码监视主要垃圾回收后的内存

python - 从 16 个内核开始,向 virtualbox 添加更多内核会使应用程序变慢

java - TestNG 和 Selenium : Perform CRUD operations on entities with depedencies

java - 包含 % 的格式字符串无效

java - 方法不支持请求体 :GET