八:理解GC日志

默认垃圾收集器-XX:+UseParallelGC【-XX:+PrintCommandLineFlags -version查看】

 

G1垃圾收集器

 

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

后面的“4639K->4622K(9728K)”含义是“GC前堆已使用容量-> GC后堆已使用容量(该内存区域总容量)”。

 

再往后,“0.0012898secs”表示该内存区域GC所占用的时间,单位是秒。有的收集器会给出更具体的时间数据,如“[Times:user=0.01 sys=0.00,real=0.02    secs]”,这里面的user、sys和real与Linux的time命令所输出的时间含义一致,分别代表用户态消耗的CPU时间、内核态消耗的CPU时间和操作从开始到结束所经过的墙钟时间(Wall Clock Time)。CPU时间与墙钟时间的区别是,墙钟时间包括各种非运算的等待耗时,例如等待磁盘I/O、等待线程阻塞,而CPU时间不包括这些耗时,但当系统有多CPU或者多核的话,多线程操作会叠加这些CPU时间,所以读者看到user或sys时间超过real时间是完全正常的。

G1详细版

 

 

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务