之前学习了GC日志的格式,能理解每行日志的大致含义。
然而对于实际生产项目,日志量庞大,逐行看很低效,这个时候借助一下gui工具就很nice了。
经过海淘了谷歌,比较后留下这2个比较好用的工具:
- GCViewer,
- http://gceasy.io
被抛弃的工具:
- GCHisto: 界面好看,功能有点弱;
- visualgc(jvisualvm的插件): jvisualvm已经1.8,visualgc版本才1.4,完全安装不上,应该已经不维护了。
GCViewer
https://sourceforge.net/projects/gcviewer/
缺点: 字超小
优点: 功能全
查看堆空间的变化
view菜单栏可以看到各种颜色的线的含义,例如蓝色线是堆空间的使用。如果全打开的话眼睛会花的,可以逐步打开几个关心的。
像下面这种情况图中黑色柱状较多的时候,可以看出堆空间不足了,gc时间占用较多:
gc回收的各项统计数据
如果搭配一个放大镜,GCViewer
就是一个非常好的gc日志查看工具了。
http://gceasy.io
上传日志到网站。
优点:
- 有诊断功能,自动检测问题;
- 界面很美观。
诊断功能
它能帮忙检测gc日志中反映出的问题:
比如能检测到fullgc:
有些还能针对性地给出建议:
统计信息
它提供了各个角度的统计信息。
新生代、老生代的峰值使用大小:
各种统计图表: