服务器CPU占用率高,如何排查?

1.定位进程

登录服务器,执行top命令,查看CPU占用情况:

$top

2.定位线程

如果进程23456占用率高:

$top -Hp23456 进行定位线程

3.定位代码

通过top命令,我们目前已经定位到导致CPU使用率较高的具体线程,比如线程4519, 那么我么接下来就定位下到底是哪一行代码存在问题。

首先,我们需要把具体的线程转成16进制:

$printf %x4519

11a7

接下来,通过jstack命令,查看栈信息:

$sudo -u admin jstack23456|grep -A20011a7

通过以上命令,我么可以看到是代码中哪行出现了问题,重构代码即可。

猜你喜欢

转载自blog.csdn.net/qq_35207086/article/details/123223629