理解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所占用的时间,单位是秒。

posted @ 2018-08-13 11:07  飞蜗牛  阅读(486)  评论(0编辑  收藏  举报