理解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日志的主要内容,如果未能解决你的问题,请参考以下文章