如何排查CPU使用率过高?

如何排查CPU使用率过高?

首先登录到服务器上,看一下具体情况。

定位进程

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

image

通过Top命令,可以看到,占用CPU最高的是PID为41846的这个java进程。

定位线程

由于 Java 程序是单进程多线程模型,因此需要进一步定位具体是哪个线程的CPU占用最高。 同样是使用top命令:top -Hp 41846

image

top -Hp 41846命令可以看到,当前进程下,线程ID为19327的占用CPU最高。

定位代码

首先将线程ID转成16进制

image

接下来就可以通过jstack来查看栈信息

image

通过输出的栈信息日志,可以看到,是CPUSpikeDemo这个类的第18行可能有问题。

posted @ 2025-10-11 10:09  噗噗噗i丶  阅读(2)  评论(0)    收藏  举报