1.登录负载高的机器,利用top命令查看
发现最耗cpu的进程ID是17221, 并dump线程:jstack 17221 >> jstack.log
2.利用 top -p 17221 -H查看该进程下所有线程
发现性能损耗最大的线程ID是17260
3.echo "obase=16;17260" | bc ,将线程ID转化为16进制
大写字母变小写,前面加0x后得到:0x436c
4.在jstack.log中查找0x436c 可以发现目前线程被阻塞到哪里。
总结:可以反复多dump几次线程进行比较