GC 日志分析工具 —— GChisto

Posted wenniuwuren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GC 日志分析工具 —— GChisto相关的知识,希望对你有一定的参考价值。

零. 简介
《Java 性能优化权威指南》介绍了一款分析 GC 日志的离线分析工具, 不过官网上没有下载的地方, 需要自己从 SVN 上拉下来编译。 GChisto 以表格和图形化的方式展示 GC 次数、 持续时间等, 提高了分析 GC 日志的效率。


一. 实践
编译成功后, 直接 java -jar 运行起来, 把 GC 日志 .log 文件 add 到 GChisto, GChisto 加载日志可能运行比较久, 需要等待一会。

1. 导入成功, 切到 GC Pause Stats 选项卡, 可以大致看下 GC 的次数、 GC 的时间、 GC 的开销、 最大 GC 时间和最小 GC 时间等 

技术分享

垃圾收集的开销(Overhead)表示垃圾收集的调优程度。 一般情况, 并发垃圾收集的开销应该小于 10%, 也有可能达到 1% ~ 3%。



2. 切到 GC Pause Distribution 选项卡, 可以查看 GC 停顿的详细分布, x 轴表示垃圾收集停顿时间, y 轴表示是停顿次数。  
技术分享

上图可以看出有一次 remark 时间是 3.6 秒左右, 这个就值得注意下当时发生了什么, 是应用问题, 还是 JVM 参数需要调优。




3. 切换到 GC Timeline 选项卡, 可以显示整个时间线上的垃圾收集, 以便于按时间去查找应用日志(tomcat 日志等), 去了解峰值时系统发生了什么。 
技术分享

不过这个工具似乎没怎么维护了, 存在不少 bug, 使用过程发现识别不了 JDK 1.7 GC 日志的 Young GC, 还有一些 NullPointer 错误。 整体来说, 只能观察某些参数













以上是关于GC 日志分析工具 —— GChisto的主要内容,如果未能解决你的问题,请参考以下文章

转 Java GC - 监控回收行为与日志分析

GC 分析

GC 分析

JVM调优日志解析分析与性能监控工具

JVM调优--07---GC日志分析纤程

ELK 日志分析系统详解