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,并不是演示的线程,我是为了方便大家理解所以贴了一张图片
本文介绍了在Linux系统中使用`top`,`ps-mpidoTHREAD,tid,time`以及`printf`和`jstack`等命令来定位和分析占用CPU高的进程及其相关线程的堆栈信息。这些工具对于排查性能问题和故障诊断非常有用。

206

被折叠的 条评论
为什么被折叠?



