top、jstack查看cpu占用最高的线程堆栈

首先利用 jps命令找到应用对应的进程id。

top -Hp pid  利用top命令查看该进程ID下的所有线程cpu 占用情况,参数说明:H 打印线程信息,p指定pid,这两个参数的作用是显示进行pid下的所有线程的资源占用情况。

top、jstack查看cpu占用最高的线程堆栈

可以发现占用最高的线程ID是31417。

算出31417对应的16进制为7ab9

jstack -l |  grep 0x7ab9查看到该线程的堆栈信息

top、jstack查看cpu占用最高的线程堆栈

nid是16进行线程ID,和31417对应。