理解GC日志

Posted woniufei

tags:

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

 阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多的技术含量。

 每一种收集器的日志形式都是由它们自身的实所决定的,每个收集器的日志格式都可以不一样。

技术分享图片

最前面的数字“33.125”和“100.667”代表了GC发生的时间,这个数字的含义是从Java虚拟机启动以来经过的秒数。

Gc日志开头的“GC”和“Full GC”说明了这次垃圾收集的停顿类型,而不是用来区分新生代还是老年代。如果有“Full”说明这次GC发生了“Stop-The-World”

接下来的“DefNew”、“Tenured”、“Perm”表示GC发生的区域,这里显示的区域名称与使用GC收集器是密切相关的,使用Serial收集器显示“Default New Generation‘”-----“DefNew”   如果是ParNew-----------“ParNew”   如果是Paraller Scavenge收集器------“PSYoungGen”

后面方括号内部的“3324K -> 152K(3712K)”含义是“GC前该内存区域已使用容量” -> GC后该内存区域已使用容量。

而方括号外的“3324K -> 152K(11904K)” 表示“GC前java堆已使用容量” -> GC后java堆已使用容量。

 再往后,“0.0025925 secs” 表示该内存区域GC所占用的时间,单位是秒。

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

理解GC日志

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

浅谈 G1 GC 日志格式

GC日志

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

JVM日志和参数的理解