陈同学
微服务
Accelerator
About
# GC日志分析之GCViewer 扎实的JVM基础是分析问题的必要条件,优秀的工具是排查问题的利器。作为JVM渣渣,碰到一点就学一点,看到大家利用GCViewer得到的分析数据这么出彩,今天有空正好也体验一下。 [GCViewer](http://www.tagtraum.com/gcviewer.html) 用于分析通过VM options [-verbose:gc](http://www.tagtraum.com/gcviewer-vmflags.html#sun.verbose) 和 [-Xloggc:<file>](http://www.tagtraum.com/gcviewer-vmflags.html#sun.loggc) 产生的数据。原作者08年已暂停GCViewer的开发,由 [chewiebug](https://github.com/chewiebug/GCViewer) fork后再继续推进。 ## 如何获取jar包? download [https://github.com/chewiebug/GCViewer](https://github.com/chewiebug/GCViewer) 源码,`mvn clean install` 直接生成可运行的jar包即可。 ## Demo ### jvm options ``` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xmx10m -Xms10m -Xloggc:/Users/cyj/demo.log ``` ### code example ```java public static void main(String[] args) throws InterruptedException { while (true) { allocate1M(); Thread.sleep(1); } } public static void allocate1M() { byte[] data = new byte[1024]; } ``` ### GCViewer分析结果 运行以上Demo 1分钟,拿到demo.log。用GCViewer进行分析: 合理调整缩放比例,以合适的时间坐标来观察数据。 ![](https://blog-1256695615.cos.ap-shanghai.myqcloud.com/2018/08/13/f85d838099b945f89d6847e7210f2ce0.png) Chart中数据较多,调整View观察所需的数据。 ![](https://blog-1256695615.cos.ap-shanghai.myqcloud.com/2018/08/13/203fa3c8943048418b99cf6c6051b6d3.png) Summary、Memory、Pause数据。 ![](https://blog-1256695615.cos.ap-shanghai.myqcloud.com/2018/08/13/50719ae1e75542b084136df8983580b9.png)
本文由
cyj
创作,可自由转载、引用,但需署名作者且注明文章出处。
文章标题:
GC日志分析之GCViewer
文章链接:
https://chenyongjun.vip/articles/66
扫码或搜索 cyjrun 关注微信公众号, 结伴学习, 一起努力