title: JVM学习笔记——GC日志
date: 2018/9/3 10:28:30
description: 最近开始着手JVM的学习,在这里把本身学习过程当中的笔记分享出来,但愿能帮到一些小伙伴,同时也是对本身的学习的一个梳理。学习
这是一个典型的GC日志的例子,接下来拆开解析一下日志的几个部分:0.247: [GC (Allocation Failure) [PSYoungGen: 6278K->776K(9216K)] 6278K->4880K(19456K), 0.0032813 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]日志
0.247
是这次GC发生的时间,表示这次GC发生在JVM运行后0.247秒的时候。[GC
表示这次GC的类型,相似的还有[Full GC
,Full GC表示是带有停顿(Stop the World)的GC。(Allocatioin Failure)
表示这次GC发生的缘由,若是是正常的GC,此处将会省略。Allocation Failure表明这次GC是由分配空间失败致使的。[PSYoungGen:
表示GC发生的区域及使用的收集器类型,采用Parallel Scavenge收集器时,新生代被称为“PSYoungGen”。6278K->776K(9216K)
含义是GC前该内存区域已使用量->GC后该区域已使用量(该内存区域总容量)
。6278K->4880K(19456K)
含义是GC前JAVA堆已使用量->GC后JAVA堆已使用量(JAVA堆总容量)
。0.0032813 secs
表示该GC的耗时,单位是秒。[Times: user=0.00 sys=0.00, real=0.00 secs]
是详细的时间数据,精确到小数点后两位,部分收集器不会给出该数据。这里的user、sys、real分别表示用户态消耗CPU时间、内核态消耗CPU时间、所通过的墙钟时间。