Linux查找Java进程中是哪个线程占用大量CPU

转载: 查询哪个线程占用大量CPU

1、确定Java进程ID

ps -ef | grep 'java'jps -l 找出对应的java应用程序对应的进程ID号:

2、确定该进程中,占用CPU最高的线程

根据应用程序对应的进程ID查找该进程ID的全部线程,并且按照CPU使用率进行排序,占用CPU使用率最高的动态显示在第一行。

以进程ID:为例,top -H -p 27828

3、将线程ID转换成16进制

最高CUP线程ID:8094
输入命令: printf "%x\n" 8094 结果为:1f9e

4、使用 jstack命令,导出线程转储信息。

jstack 27828 > process27828.txt 将进程ID:27828 全部堆栈信息放入process27828.txt文件中。

5、使用cat命令查看转换后后的16进制线程ID