CPU飙升排查
# 使用 top 找到占用 CPU 最高的 Java 进程
监控cpu运行状,显示进程运行信息列表
top -c
1按CPU使用率排序,键入大写的P
# 第二步,用 top -Hp 命令查看占用 CPU 最高的线程
执行top -Hp pid
命令,pid 就是前面获得的 Java 进程,然后键入P (大写p),线程按照CPU使用率排序
,查到占用CPU最高的那个线程。
# 查看堆栈信息,定位对应代码
通过printf命令将其转化成16进制,之所以需要转化为16进制,是因为堆栈里,线程id是用16进制表示的。
printf "%x\n" 16756
1
得到16进制的线程ID。
通过jstack命令查看堆栈信息
jstack 16738 | grep '0x4174' -C10 --color
1
编辑 (opens new window)
上次更新: 2023/04/09, 16:34:32