线程运行诊断

案例1:cpu占用过多

定位:

1. 用top定位哪个进程堆cpu的占用过高
2. ps H -eo pid,tid,%cpu | grep 进程id(此处查看哪个线程占用)
3. jstack 进程id(此处通过上一步的线程id转换为16进制,对比nid就可以知道哪行代码了)

案例2:程序运行很长的时间没有结果

定位:

1. 死锁排查可通过 top | grep java 查看重复出现的进程,可以定位
2. jstack 进程id
原文地址:https://www.cnblogs.com/yuefeng123/p/12522137.html