008-在linux上如何快速排查cpu占用过高问题
- 1、使用TOP命令查看cpu使用率:TOP
- 2、使用ps命令查看程序的tid:ps -mp pid -o THREAD,tid,time
- 3、将这3个TID转为16进制,为等会在jstack中查找方便:printf “%x\n” TID
- 4、jstack查看进程信息: jstack -pid|grep TID查询目前三个进程是否在运行状态,如下图,是在运行状态中的。:jstack -Pid|grep TID
- 5、使用jstack查看详细的信息:jstack PID
- 6、最后可把jstack信息导出保存下来:jstack -l PID>> 保存路径/test.txt,如jstack -l 26960 >> test.txt
排查生产上CPU使用率过高异常记录
1、使用TOP命令查看cpu使用率:TOP
2、使用ps命令查看程序的tid:ps -mp pid -o THREAD,tid,time
Pid要替换项目程序的pid,如:ps -mp 15669-o THREAD,tid,time,得到占用cpu最高的TID
3、将这3个TID转为16进制,为等会在jstack中查找方便:printf “%x\n” TID
4、jstack查看进程信息: jstack -pid|grep TID查询目前三个进程是否在运行状态,如下图,是在运行状态中的。:jstack -Pid|grep TID
5、使用jstack查看详细的信息:jstack PID
如:jstack 15669,查找到nid=0x3ec7的内容。得到具体的代码行数。