小言_互联网的博客

G1日志详解

417人阅读  评论(0)

为什么要看GC日志?

因为JVM的GC状态能在很大程度上衡量JVM是否健康,在相同条件下能否持续稳定运行。
G1和CMS在日志上会有些许的区别,由于平时用G1为主,这边主要讨论G1。
除此之外,如果想要学习G1,研究日志也是很好的途径。

G1日志详解

本文参考了RedHat Blog的Collecting and reading G1 garbage collector logs,并结合了现实场景和自己的理解来分析。其中的GC日志例子为线上应用的GC日志片段。

Young GC

总体先看下GC日志

逐行分析:



Concurrent Cleanup 并发清除

G1的第二种收集活动是并发垃圾收集,并发垃圾收集的触发条件有很多,但是做的工作都相同。


Mixed GC

在并发收集阶段结束后,你会看到混合收集阶段的日志,如下图所示,该日志的大部分跟之前讨论的新生代收集相同,只有第1部分不一样:GC pause (G1 Evacuation Pause) (mixed), 0.0066976 secs这一行表示这是一个混合垃圾收集周期;在混合垃圾收集处理的CSet不仅包括新生代的分区,还包括老年代分区——也就是并发标记阶段标记出来的那些老年代分区。

Full GC


转载:https://blog.csdn.net/zyzzxycj/article/details/101380660
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场