1.使用 top -p <pid> 命令(<pid>为Java进程的id号)查看Java进程的cpu占用
2.使用 top -Hp <pid> 命令(<pid>为Java进程的id号)查看该Java进程内所有线程的资源占用情况(按shft+p按照cpu占用进行排序,按shift+m按照内存占用进行排序)此处按照cpu排序。
⚠️ps -mp <pid> -o THREAD,tid,time——命令查看进程线程信息,找到导致CPU高的线程TID
3.使用 printf "%x\n" <tid> 命令(tid指线程的id号)将以上10进制的线程号转换为16进制.加上’0x’ 前缀
4.使用dk自带命令jstack获取此时的线程快照并输入到文件中: jstack -l <pid> > ./jstack_result.txt 命令(<pid>为Java进程的id号)来获取线程快照结果并输入到指定文件。
5.查看第4步生成的txt文件,在其中搜索tid为0x17bdb的线程: