JVm性能调优4:GC日志分析

原创 2016年05月31日 16:41:58


GC日志分析方法

包括日志获取和日志分析两部分。

1)日志获取,包括自动输出和实时查看。

方式一:在jvm启动时添加日志输出参数,将gc日志输出到文件中,参数如下:

##日志输出参数

-verbose:gc

-XX:+PrintGCTimeStamps

-XX:+PrintGCDetails

 

##日志文件定义

-Xloggc:../standalone/log/sg-aps-gc.log

-XX:+UseGCLogFileRotation

-XX:NumberOfGCLogFiles=8

-XX:GCLogFileSize=5M"

方式二:如果在jvm启动时没有设置gc参数,可以实时的获取gc日志信息。命令如下:

首先jps获取进程号。

jps -mlvV

其次通过jstat命令将gc日志信息输出到文件中。命令如下:

jstat -gccause -t -h 10 14696 1000 10 > gc.log

2)日志分析,包括人工分析和工具分析。

人工分析,通过分析Full/mimorgc的收集间隔、收集次数、收集时间、heap中不同区域垃圾收集率人工判断是否存在问题。通过过本方式,能够分析从GC日志中分析出问题。gc日志如下:

C:\Users\zhanglixin>jstat -gccause -t -h 5 21204 1000 10

Timestamp   S0     S1     E     O      P     YGC    YGCT    FGC    FGCT    GCT    LGCC GCC

395.9  0.00   0.00  66.85  0.22  71.43   1213   5.157     0    0.000   5.157 unknown GCCause      No GC

   396.9   0.00   0.00 73.68   0.22  71.43  1216    5.166     0   0.000    5.166 unknown GCCause      No GC

   397.9   0.00   0.00 83.93   0.22  71.43  1219    5.174     0   0.000    5.174 unknown GCause      No GC

   398.9   0.00   0.00  0.00   0.22  71.43  1223    5.184     0   0.000    5.184 unknown GCCause      No GC

   399.9   0.00   0.00  5.37   0.22  71.43  1226    5.198     0   0.000    5.198 unknown GCCause      No GC

工具分析,借助gc工具,分析gc日志,得到一个清晰的统计书序。如下:


版权声明:本文为博主原创文章,未经博主允许不得转载。

成为Java GC专家(2):如何监控Java垃圾回收机制

本文是成为Java GC专家系列文章的第二篇。在第一篇《深入浅出Java垃圾回收机制》中我们学习了不同GC算法的执行过程,GC是如何工作的,什么是新生代和老年代,你应该了解的JDK7中的5种GC类型,...
  • zhoudaxia
  • zhoudaxia
  • 2014年05月20日 17:20
  • 8435

jvm源码阅读笔记[7]-从jstat -gccause命令谈到jvm中都有哪些GC cause

从零开始看源码,旨在从源码验证书上的结论,探索书上未知的细节。有疑问欢迎留言探讨     个人源码地址:https://github.com/FlashLightNing/openjdk-not...
  • FoolishAndStupid
  • FoolishAndStupid
  • 2017年09月24日 17:44
  • 658

JVM 之 GC日志分析

常用JVM参数 http://blog.csdn.net/gzh0222/article/details/8223277  分析gc日志后,经常需要调整jvm内存相关参数,常用参数如下 -Xm...
  • lan861698789
  • lan861698789
  • 2016年07月21日 17:53
  • 6908

jvm的GC日志分析

JVM的GC日志的主要参数包括如下几个: -XX:+PrintGC 输出GC日志 -XX:+PrintGCDetails 输出GC的详细日志 -XX:+PrintGCTimeStamps 输出G...
  • doc_sgl
  • doc_sgl
  • 2015年06月22日 16:37
  • 9608

JVM系列4-GC log

1、JVM参数-XX:+PrintGC参数-XX:+PrintGC开启了简单GC日志模式,为每一次新生代(young generation)的GC和每一次的Full GC打印一行信息。日志默认输出到终...
  • f59130
  • f59130
  • 2017年06月30日 22:29
  • 266

gc日志分析工具

性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析。 Gc日志参数 通过在tomcat启动脚本中添加相关...
  • gzh0222
  • gzh0222
  • 2012年11月25日 20:27
  • 19010

GC日志分析工具汇总

Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc日志 -verbose.gc开关可显示GC的操作内容。打开它,可以显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集...
  • L25000
  • L25000
  • 2015年05月10日 23:09
  • 2887

GC 日志分析工具 —— GChisto

零. 简介 《Java 性能优化权威指南》介绍了一款分析 GC 日志的离线分析工具, 不过官网上没有下载的地方, 需要自己从 SVN 上拉下来编译。 GChisto 以表格和图形化的方式展示 GC ...
  • wenniuwuren
  • wenniuwuren
  • 2016年02月28日 15:44
  • 6431

记一次JVM GC日志分析

这几天在准备升级JDK版本到1.6,对目前线上JVM(版本是1.5.0_08-b03) GC日志进行了分析,发现一些参数设置不太合理的地方,有待后续通过数据来进行验证。 1.原始GC日志(通过JVM...
  • cpzhong
  • cpzhong
  • 2011年09月29日 22:30
  • 19692

JVM参数优化(基础篇)

文中内容主要是自己关于JVM参数优化的一些总结,参考了网上很多大神的文章,有参数有说明,这里是为了记录下,也是为了可以给别人做个垫脚石。刚入坑不久,很多地方还不是很透彻,之后会继续研究。...
  • conansix
  • conansix
  • 2017年06月30日 11:27
  • 1279
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JVm性能调优4:GC日志分析
举报原因:
原因补充:

(最多只允许输入30个字)