一、诊断线程cpu占用过高步骤
1、用top命令定位哪个进程对cpu的占用过高;
2、查看进程的那个线程占用cpu高
ps H -eo pid,tid,%cpu | grep 进程id
//pid:显示进程
//tid:显示线程
//%cpu: 显示占用cpu占用
3、jstack 进程id
可以根据线程id 找到有问题的线程,进一步定位到问题代码的源码行号
32665为十进制,需要转为十六进制为7f99(jstack命令显示的线程id用16进制表示)
二、定位线程死锁
线程死锁表现为长时间未返回结果
通过jstack 进程id命令,即可在命令输出的最后,查看死锁信息