Troubleshooting系列-gc日志分析及分析工具介绍

Java的垃圾收集(GC)日志提供了有关垃圾收集器的详细信息,包括GC事件、停顿时间、内存使用情况等。通过分析GC日志,可以了解应用程序的垃圾收集行为和性能状况,帮助进行调优故障排查

如何生成GC日志

前期落地实践之JAVA应用启动脚本中有有关gc日志的设置,主要参数如下:

bash 复制代码
# 打印GC日志 
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation" 
JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC -Xloggc:$work_home/logs/gc.log -XX:GCLogFileSize=1m -XX:NumberOfGCLogFiles=10"

相关参数说明可参考ORACLE官网关于JVM参数相关文章

GCViewer介绍

GCViewer是一款用于分析和可视化Java垃圾收集(GC)日志的工具。它提供了一个直观的界面,可以帮助开发人员和性能工程师更好地理解和分析应用程序的垃圾收集行为,并进行性能调优。

官网地址:github.com/chewiebug/G...

需要自行编译成jar执行

bash 复制代码
Toby@TOBY-HYW MINGW64 /d/code
$ git clone https://github.com/chewiebug/GCViewer.git
Toby@TOBY-HYW MINGW64 /d/code/GCViewer (master)
$ mvn clean install -DskipTests=true

生成gcviewer-1.37-SNAPSHOT.jar,执行java -jar gcviewer-1.37-SNAPSHOT.jar 打开图形界面

打开GC日志后,生成概览界面

可在View选择需要查看的内容,默认展示所有 Event details包含各种gc的停顿

右下角是总结、内存和停顿,下图是内存

GCeasy介绍及使用

GCeasy 是一个基于 Web 的垃圾回收日志分析工具,可以用于分析 JVM 的垃圾回收日志,提供可视化的分析结果和建议 。GCeasy 可以分析所有主流的垃圾回收器,包括 CMS、G1、Parallel 和 Serial 等,支持多种垃圾回收日志格式,包括 GC log、Jstat log 和 JMX 等。

官网地址:gceasy.ycrash.cn/

先上传gc日志,需要进行压缩

分析完之后可以生成报告,我的gc日志生成的报告URL如下:gceasy.ycrash.cn/my-gc-repor...

先是总体概览和一些建议 JVM 内存大小,比较清楚知道大小 关键性能指标(KPI) 交互图标非常直观看到gc前后对比,还可以选择 其他的不一一说明了,具体可以看上述URL

总结

整体来说,GCeasy能够分析的内容更多,GCViewer是一个本地jar。如果考虑到信息安全风险,建议使用GCViewer;如果项目中对信息安全要求不高,可以使用GCeasy,还可以将分析报告分享给其他人共同分析。

附件

gcviewer-1.37-SNAPSHOT.jar自己编译下载链接如下:

链接:pan.baidu.com/s/1XwTb6PKm... 提取码:3jwl

上述GCeasy生成的报告地址:

链接:pan.baidu.com/s/103Nru2py... 提取码:ajmb

相关推荐
Hui Baby19 分钟前
springAi+MCP三种
java
hsjcjh22 分钟前
【MySQL】C# 连接MySQL
java
敖正炀23 分钟前
LinkedBlockingDeque详解
java
wangyadong31724 分钟前
datagrip 链接mysql 报错
java
untE EADO30 分钟前
Tomcat的server.xml配置详解
xml·java·tomcat
花椒技术35 分钟前
从7S到4S,我们如何系统性降低直播播放延迟
性能优化·程序员
ictI CABL39 分钟前
Tomcat 乱码问题彻底解决
java·tomcat
敖正炀41 分钟前
DelayQueue 详解
java
uzong1 小时前
最新:阿里正式发布首款AI开发工具Meoo(秒悟),0门槛、一键部署上线
人工智能·后端
用户8356290780511 小时前
Python 操作 PowerPoint:添加与设置文本框完整教程
后端·python