39

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

 4 years ago
source link: https://www.tuicool.com/articles/73eYnqZ
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

性能测试,排查定位问题,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日志解释如下

fmY7biu.jpg!web

高清大图获取, 公号后台回复 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日志解释如下

UZ7vqym.jpg!web

高清大图获取,公号后台回复: 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]

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

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

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

投稿邮箱:[email protected]

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

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

更多技术干货

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK