- 根据top命令 得到进程的pid 33443
- 通过ps aux | grep 33443
- 怎么定位到具体线程或者代码呢?
首先显示线程列表: ps -mp 33443 -o THREAD,tid,time
找到了耗时最高的线程
root 18.4 19 - - - - 33497 01:13:04
其次将需要的线程ID转换为16进制格式: printf "%x\n" 33497 82d9
最后打印线程的堆栈信息: jstack 33443 |grep 82d9 -A 30
找到出现问题的代码了!