1.top
使用top定位到占用CPU高的命令
(注:我这里的展示的是已经排查过了,所以这里展示的截图是没问题的,之前忘记截图了)
2.ps -mp pid -o THREAD,tid,time | sort -rn
ps: 显示当前系统的进程状态。
-m: 显示与每个进程相关的线程(tasks)的详细信息。
-p: 指定一个进程组 ID。
获取某个进程下的线程信息
3.printf “%x\n” tid
将需要的线程id转换成16进制格式
4.jstack -l pid | grep tid -A 30
打印线程的堆栈信息
有时候30行并不足以看到错误信息,你可以调大一点行数,最后展示的线程是当时出问题的线程id,并不是演示的线程,我是为了方便大家理解所以贴了一张图片