java占用CPU很高,如何快速进行gc分析

如果一个运行中的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键 退出侦测。

步骤3: 登录 ctbots.com  分析GC日志,选择【通用GC分析】

 

 

步骤4: 把GC内存粘贴进去, 点击【格式化为表格】,则显示格式化后的结果。

 

 

步骤5:经过实测,还支持JDK15 JDK17等较新的GC信息。

 

posted @ 2023-06-15 13:05  learn_cat  阅读(103)  评论(0)    收藏  举报