GCViewer属于JVM性能调优的必备工具,可以帮助用于JVM GC分析,下面我来重点详解GCViewer@mikechen
GCViewer定义
GCViewer是一个Java GC日志分析工具,它可以分析并可视化Java虚拟机在运行过程中生成的GC日志。
GCViewer作用
GCViewer的主要作用如下:
1.可视化GC日志
GCViewer可以将GC日志可视化为图形化界面,以便开发人员更直观地了解GC日志的内容和趋势。
2.分析GC性能
GCViewer可以分析GC日志并提供有关GC性能的详细信息,例如GC时间、各种GC事件的数量、内存使用情况和吞吐量等,帮助开发人员确定应用程序的GC性能问题。
3.诊断内存泄漏
GCViewer可以帮助开发人员诊断内存泄漏问题,识别那些导致内存泄漏的对象并进一步优化应用程序。
GCViewer使用
1.下载和安装GCViewer
GCViewer可以从其官方网站上下载:
https://github.com/chewiebug/GCViewer
或者通过Maven等构建工具进行安装。
2.生成GC日志
命令:
java -Xloggc:gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps
这会将GC日志记录到名为“gc.log”的文件中,并包含有关GC事件的详细信息。
3.用GCViewer加载GC日志
启动GCViewer,并将GC日志加载到GCViewer中,如下图所示:
GCViewer 有两个部分,一个是左侧的图表,另一个是右侧的数据面板。
1.图表
GCViewer 在图表中显示多条线等,可以点击 View 按钮选择显示哪些线条。
如下图所示:
其中黑色的竖线表示 Full GC,这样的线越少越好,就像上图所示,Full GC 后老年代并没有释放多少空间,所以才会抛出 OOM 异常。
2.数据面板
点击Summary,如下图所示:
下面列一些关键的说明:
- Max heap after full GC:Full GC 后的堆内存大小;
- Total Time:GC 总耗时;
- Accumulated Pauses:GC 过程中暂停总时长;
- Throughput(吞吐量):上图显示是 98.56%,一般要求吞吐量至少为 90%。
以上就是GCViewer的详解,更多JVM请查看:JVM(Java虚拟机)从0到1全部合集
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》