理解GC日志

Posted BINGJJFLY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解GC日志相关的知识,希望对你有一定的参考价值。

产生GC日志的参数

  -XX:+PrintGCDetails

GC日志格式

[GC-- [PSYoungGen: 9208K->9208K(9216K)] 13481K->19440K(19456K), 0.0407458 secs] [Times: user=0.05 sys=0.01, real=0.04 secs] 
[Full GC [PSYoungGen: 9208K->0K(9216K)] [ParOldGen: 10232K->10236K(10240K)] 19440K->10236K(19456K) [PSPermGen: 2551K->2549K(21248K)], 0.2472015 secs] [Times: user=0.39 sys=0.00, real=0.25 secs]

  GC和Full GC是指回收的停顿类型,Full GC说明发生了“Stop The World”。

  “[DefNew”、“[Tenured”、“[ParmNew”、“[PSYoungGen”表示GC发生的区域此名称和使用的GC收集器有关。

    “[DefNew”:“Default New Generation”,使用Serial收集器的新生代区域

    “[ParmNew”:使用ParNew收集器的新生代区域

    “[PSYoungGen”:使用Parallel Scavenge收集器的新生代区域

  9208K -> 9208K (9216K):GC前该内存区域已使用容量 -> GC后该内存区域已使用容量 (该内存区域总容量)

  13481K -> 19440K (19456K):GC前Java堆已使用容量 -> GC后Java堆已使用容量 (Java堆总容量)

  0.0407458 secs:该内存区域GC所占用的时间,单位秒

  [Times: user=0.05 sys=0.01, real=0.04 secs]:该内存区域GC所占用的时间的详细数据,“user”,“sys”,“real”和Linux的time命令输出的时间含义一致。分别代表用户态消耗的CPU时间,内核态消耗的CPU时间,操作开始到结束经过的墙钟时间。

 

以上是关于理解GC日志的主要内容,如果未能解决你的问题,请参考以下文章

理解GC日志

理解GC日志

JVM理论:(二/4)理解GC日志垃圾收集器参数总结

浅谈 G1 GC 日志格式

JVM日志和参数的理解

GC垃圾回收 | 深入理解G1垃圾收集器和GC日志