1 定位CPU占用高的进程
使用top -c 来查看当前的进程信息。
默认是按照CUP的使用率进行排序的,闪动得太快, 使用 -d <秒>来控制闪动的速度。
top -c -d 5
top -c
2 定位CPU占用高的线程
然后按下大写的P,根据CPU占用进行排序,找到CPU占用最高的进程。 找到进程ID 。
使用 top -Hp <pid> 来找出占用CUP最高的线程的ID
top -Hp 123456
3 定位CPU占用高的代码
printf "%x\n" <线程id>
printf "%x\n" 123456
可会输出一个十六进制的数字 11a3
然后用
jstack <pid>| grep '<16进制线程id>' -C5 --color
输出占用CPU的代码行
网友评论