查看原文
其他

JVM调优必备,死磕GC日志(一图看懂)

点击上方"搜云库技术团队"关注

选择"设为星标"
技术/ 架构 / 资料 / 工作 / 内推

性能测试,排查定位问题,JVM调优过程中,都会遇到要分析GC日志,那你看得懂GC日志吗?

JVM GC 相关的参数

-XX:+PrintGC 输出GC日志 -XX:+PrintGCDetails 输出GC的详细日志 -XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式) -XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800) -XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息 -Xloggc:D:/gc.log 日志文件的输出路径

更多 JVM 参数请看昨天推文

点击:作为高级开发,你懂这些 JVM 参数吗? 

示例

比如在某个应用中,配置:-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:D:/gc.log 启动后打印如下GC日志:

YongGC

2019-04-18T14:52:06.790+0800: 2.653: [GC (Allocation Failure) [PSYoungGen: 33280K->5113K(38400K)] 33280K->5848K(125952K), 0.0095764 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]

参考:YoungGC日志解释如下

高清大图获取,公号后台回复GC

含义:

2019-04-18T14:52:06.790+0800(当前时间戳): 2.653(应用启动基准时间): [GC (Allocation Failure) [PSYoungGen(表示Young GC): 33280K(年轻代回收前大小)->5113K(年轻代回收后大小)(38400K(年轻代总大小))] 33280K(整个堆回收前大小)->5848K(整个堆回收后大小)(125952K(堆总大小)), 0.0095764(耗时) secs] [Times: user=0.00(用户耗时) sys=0.00(系统耗时), real=0.01(实际耗时) secs]

Full GC

2019-04-18T14:52:15.359+0800: 11.222: [Full GC (Metadata GC Threshold) [PSYoungGen: 6129K->0K(143360K)] [ParOldGen: 13088K->13236K(55808K)] 19218K->13236K(199168K), [Metaspace: 20856K->20856K(1069056K)], 0.1216713 secs] [Times: user=0.44 sys=0.02, real=0.12 secs]

参考:Full GC日志解释如下

高清大图获取,公号后台回复:GC

含义:

2019-04-18T14:52:15.359+0800(当前时间戳): 11.222(应用启动基准时间): [Full GC (Metadata GC Threshold) [PSYoungGen: 6129K(年轻代回收前大小)->0K(年轻代回收后大小)(143360K(年轻代总大小))] [ParOldGen: 13088K(老年代回收前大小)->13236K(老年代回收后大小)(55808K(老年代总大小))] 19218K(整个堆回收前大小)->13236K(整个堆回收后大小)(199168K(堆总大小)), [Metaspace: 20856K(持久代回收前大小)->20856K(持久代回收后大小)(1069056K(持久代总大小))], 0.1216713(耗时) secs] [Times: user=0.44(用户耗时) sys=0.02(系统耗时), real=0.12(实际耗时) secs]

版权申明:部分内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知我们,我们会立即删除并表示歉意。谢谢!

敬请关注「搜云库技术团队」微信公众号,获取最新文章

整编:微信公众号,搜云库技术团队,欢迎广大技术人员投稿

投稿邮箱:admin@souyunku.com

如果对本文的内容有疑问,请在文章留言区留言,谢谢。

》》》福利 + 程序员工作内推群《《《

更多技术干货


推荐:最新200篇:技术文章整理 

1、作为高级开发,你懂这些 JVM 参数吗? 

2、一线大厂的分布式唯一ID生成方案是什么样的? 
3、
Java8 中用法优雅的 Stream,性能也"优雅"吗? 
4、
秒杀系统流量削峰这事应该怎么做?为什么要削峰呢? 
5、
JVM 发生 OOM 的 8 种原因、及解决办法 
6、
漫漫优化路,总会错几步!记一次接口优化! 
7、
面试官:你简历中写用过docker,能说说容器和镜像的区别吗? 

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存