1. 第一步 top 查看cpu,如图
java 进程号 106618
2. top -Hp 106618 查看该进程下所有的线程情况
3. 把线程ID转为16进制
printf "%x" 107622
16进制转10进制 printf "%d" 0x1a466
4. 把堆栈信息输出到文件中
jstack 106618 >> 2020072101.txt
或者执行 jstack 19663|grep -A 10 4cd0,得到线程堆栈信息中 4cd0 这个线程所在行的后面10行,从堆栈中可以发现导致cpu飙高的调用方法