1.使用top -c命令查询,(由于在这个服务器上部署了多个应用),先找到占用占用最高的cpu进程,如下图:

Linux快速找出Java应用占用CPU最高的线程

top -c命令截图

2.查找占用CPU比较多的进程的线程信息,top -H -p 32555,(注:由于现场数据没有保留,下图只是演示)

top -H -p 进程号查询线程信息

3.根据上图的数据,找到占用CPU最高的进程号,将进程号转换成16进制,printf '%xn' 32555

16进制转换

4.然后再使用jstack查询线程的堆栈信息语法:jstack <pid>(进程ID) | grep -a 线程id(十六进制)
jstack 32555 |grep -a 7f2b

胜象大百科