1.定位进程
登录服务器,执行top命令,查看CPU占用情况:
$top
2.定位线程
如果进程23456占用率高:
$top -Hp23456 进行定位线程
3.定位代码
通过top命令,我们目前已经定位到导致CPU使用率较高的具体线程,比如线程4519, 那么我么接下来就定位下到底是哪一行代码存在问题。
首先,我们需要把具体的线程转成16进制:
$printf %x4519
11a7
接下来,通过jstack命令,查看栈信息:
$sudo -u admin jstack23456|grep -A20011a7
通过以上命令,我么可以看到是代码中哪行出现了问题,重构代码即可。