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 错误。 整体来说, 只能观察某些参数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值