Ubuntu Tomcat日志中如何查看GC信息
导读:Ubuntu Tomcat日志中查看GC信息的步骤 1. 开启GC日志输出 要查看Tomcat的GC信息,需先通过修改启动脚本配置GC日志参数。进入Tomcat安装目录的bin文件夹,编辑catalina.sh文件(使用vim或nano等工...
Ubuntu Tomcat日志中查看GC信息的步骤
1. 开启GC日志输出
要查看Tomcat的GC信息,需先通过修改启动脚本配置GC日志参数。进入Tomcat安装目录的bin
文件夹,编辑catalina.sh
文件(使用vim
或nano
等工具):
sudo vim /usr/local/tomcat/bin/catalina.sh
在文件顶部(确保在其他JAVA_OPTS
设置之后)添加以下JVM参数(根据需求调整路径和参数值):
JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx1024m -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/var/log/tomcat/gc.log"
参数说明:
-Xms512m
:设置JVM初始堆内存为512MB;-Xmx1024m
:设置JVM最大堆内存为1024MB;-XX:+UseG1GC
:启用G1垃圾收集器(适用于Java 9及以上版本,若使用Java 8可替换为-XX:+UseConcMarkSweepGC
);-XX:+PrintGCDetails
:打印GC详细信息(包括回收类型、耗时、堆内存变化等);-XX:+PrintGCDateStamps
:在GC日志中添加时间戳(便于定位时间点);-Xloggc:/var/log/tomcat/gc.log
:指定GC日志的输出路径(需确保目录存在且有写入权限)。
保存并退出编辑器。
2. 创建GC日志目录并重启Tomcat
若指定的GC日志目录(如/var/log/tomcat/gc
)不存在,需先创建并设置权限:
sudo mkdir -p /var/log/tomcat/gc
sudo chown -R tomcat:tomcat /var/log/tomcat/gc # 假设Tomcat用户为tomcat
重启Tomcat服务使配置生效:
sudo systemctl restart tomcat
若使用旧版本SysVinit,可使用:
sudo service tomcat restart
3. 查看GC日志
GC日志会输出到指定的文件中(如/var/log/tomcat/gc.log
),可通过以下命令实时查看最新日志:
tail -f /var/log/tomcat/gc.log
日志内容示例:
2025-09-28T14:30:45.123+0800: [GC (Allocation Failure) [G1 Evacuation Pause] (young) 4096K->
1024K(16384K), 0.0012345 secs]
2025-09-28T14:30:46.456+0800: [Full GC (System.gc()) 8192K->
2048K(32768K), 0.0034567 secs]
日志字段解读:
2025-09-28T14:30:45.123+0800
:GC发生的UTC时间(带时区);[GC (Allocation Failure)
:GC类型(Minor GC或Full GC)及触发原因(如年轻代空间不足);[G1 Evacuation Pause]
:使用的GC算法(如G1的疏散暂停);(young)
:GC作用的堆区域(年轻代、老年代或元空间);4096K-> 1024K(16384K)
:GC前年轻代使用量-> GC后年轻代使用量(年轻代总容量);0.0012345 secs
:GC耗时(秒)。
4. 可选:使用工具分析GC日志
若需更直观地分析GC频率、耗时、内存回收效率等,可使用以下工具:
- GCViewer(开源工具):将GC日志上传至GCViewer,生成可视化报告(如GC次数、暂停时间分布、吞吐量等);
- jstat(JDK自带工具):实时监控GC状态,命令示例:
参数说明:jstat -gcutil < Tomcat进程ID> 1000 10
< Tomcat进程ID>
通过ps -ef|grep tomcat
获取;1000
表示每1秒刷新一次;10
表示刷新10次。输出结果包括各堆区域的使用率、GC次数、耗时等。
通过以上步骤,即可在Ubuntu Tomcat日志中查看并分析GC信息,帮助定位内存泄漏、GC频繁等问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Tomcat日志中如何查看GC信息
本文地址: https://pptw.com/jishu/719156.html