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

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

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

文章插图
top -c命令截图
【Linux快速找出Java应用占用CPU最高的线程】2.查找占用CPU比较多的进程的线程信息 , top -H -p 32555 , (注:由于现场数据没有保留 , 下图只是演示)
Linux快速找出Java应用占用CPU最高的线程

文章插图
top -H -p 进程号查询线程信息
3.根据上图的数据 , 找到占用CPU最高的进程号 , 将进程号转换成16进制 , printf '%xn' 32555
Linux快速找出Java应用占用CPU最高的线程

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




    推荐阅读