1、找到最耗CPU的进程pid,执行命令 top
2、找到最耗CPU的线程tid
// 执行 top -Hp [pid] 定位应用进程对应的线程 tid // 按shift + p 组合键,按照CPU占用率排序 > top -Hp 14246
3、将线程pid转化为16进制
// printf "%x\n" [tid] 将tid转换为十六进制 > printf "%x\n" 6807 1a97 > printf "%x\n" 6808 1a98
4、查看线程的堆栈信息
// jstack [pid] | grep -A 10 [tid的十六进制] 打印堆栈信息 > jstack 14246 | grep -A 10 1a97 > jstack 14246 | grep -A 10 1a98
5、根据堆栈信息分析问题
14246: Unable to open socket file: target process not responding or HotSpot VM not loaded The -F option can be used when the target process is not responding
参考资料:
https://www.cnblogs.com/xiaozhaoboke/p/17803129.htmlhttps://www.cnblogs.com/xiaozhaoboke/p/17803129.html