排查思路-五步法
1. top命令定位应用进程pid
找到最耗时的CPU的进程pid
top
2. top-Hp[pid]定位应用进程对应的线程tid
找到最消耗CPU的线程ID
// 执行 top -Hp [pid] 定位应用进程对应的线程 tid
// 按shift + p 组合键,按照CPU占用率排序
> top -Hp 11168
3. printf"%x\n"[tid]将tid转换为十六进制
将线程pid转换为16进制
// printf "%x\n" [tid] 将tid转换为十六进制
> printf "%x\n" 26215
6667
4.jstack[pid]|grep-A10[tid的十六进制]打印堆栈信息
查看线程的堆栈信息
// jstack [pid] | grep -A 10 [tid的十六进制] 打印堆栈信息
> jstack 26215 | grep -A 10 6667
可以查看到代码具体代码行报错
5.根据堆栈信息分析问题
找到对应代码,分析代码