1.top命令查看占用CPU的情况

 

2.找到那个进程占用的CPU最高,并记录下进程ID (40940)

3.查看进程中的线程信息ps H -eo pid,tid,%cpu | grep 进程ID

  找到进程对应的线程id

# 获取指定线程的堆栈信息

jstack <pid> | grep 十六进制线程名称

 

4.jstack 进程id 

jstack 4033644 > jstack.log 也可以把日志写到文件去定位

printf "%x\n"  123255

最后对比转换出来的16进制的线程id和jstack打印的线程id对比,从而找到有问题的代码