一分钟系列: 读懂GC日志

一分钟系列: 读懂GC日志

开启GC日志

 -XX:+PrintGCDetails -Xloggc:  xxxx  
// 开启GC日志,xxxx表示GC日志输出的位置
// 虽然输出日志会有性能开销,相比日后观察JVM定位问题这点开销还是值得的。

GC日志解析

[GC (Allocation Failure) [PSYoungGen: 655360K->37885K(720896K)] 655360K->38008K(1302528K), 0.0713143 secs] [Times: user=0.06 sys=0.03, real=0.07 secs]

GC表示这是一次YGC的回收,只回收年轻代的内存;Allocation Failure表示是没有足够的内存(年轻代的内存)用来分配导致的一次垃圾回收;PSYoungGen表示这是一次年轻代的回收;655360K表示年轻代回收前这么大,37885K表示回收后是这么大,括号里的720896K表示年轻代的内存总共这么大;655360K表示堆的内存回收前这么大, 38008K表示这次垃圾回收后堆内存使用的大小,1302528K表示堆总共有这么大的内存,0.0713143 secs本次YGC耗费的时间(单位秒);user YGC用户耗时,sys YGC系统耗时, real YGC的墙中时间包括各种非运算的等待耗时。

[Full GC (Ergonomics) [PSYoungGen: 3209K->0K(779776K)] [ParOldGen: 581314K->397509K(786432K)] 584523K->397509K(1566208K), [Metaspace: 57616K->57442K(1103872K)], 0.7926506 secs] [Times: user=1.08 sys=0.14, real=0.79 secs]

Full GC表示本次垃圾收集发生了stop the world;Ergonomics表示这次JVM自身发起的一次fullGC;PSYoungGen表示是年轻代的GC,3209K年轻代回收前的大小,0K年轻代回收后的大小,779776K年轻代的总大小;ParOldGen表示是老年代的GC,581314K回收前的大小,397509K回收后的大小,786432K老年代的总大小,584523K堆回收前的大小,397509K堆回收后的大小,1566208K堆的总大小;Metaspace表示是元空间,57616K回收前,57442K回收后的大小,1103872K元空间的总大小;
0.7926506 secs 本次FullGC的时间;后面的user,sys,real和之前的解释一样。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值