如果一个运行中的java程序突然响应很慢,而且CPU占用很高,那么有必要对其GC进行观察,确定是否因为GC垃圾回收耗时过多,导致了响应缓慢,可以用 jstat -gc 命令进行观测。
步骤1:确定观测的java进程

步骤2:持续性的输出gc信息,或者直接定向为日志
jstat -gc -t 3792 3000 9999 对PID为3792的java进程,每3秒采集一次GC信息,采集9999次后停止。

如果嫌输出的内容不好复制,可以把输出的内容定向为文件: jstat -gc -t 3792 3000 9999 > gc.log 此时,信息都被实时保存为gc.log。按ctrl+c键 退出侦测。

当Java应用程序响应慢且CPU占用率高时,可以通过GC分析来排查问题。使用`jstat -gc`命令持续收集进程的GC信息,并将其输出到日志文件。通过在线工具如ctbots.com的【通用GC分析】功能,将日志导入并格式化为表格,以便于理解分析。该方法适用于包括JDK15和JDK17在内的较新版本。
最低0.47元/天 解锁文章
14万+





