服务器CPU过高,排查方法

mac2024-06-03  44

top #定位异常的进程 top -H -p pid #查看异常的线程 strace -T -r -c -p pid #查看系统调用和花费的时间 printf "%x/n"线程号 #将异常线程转化为16进制 jstack 进程号|grep 线程号(16进制异常线程号)-A90 #定位异常的代码

1、使用【top】命令定位异常进程,可发现12836的CPU和内存占用率都非常高; top 命令默认情况下,是每 3 秒刷新一次。也可以通过 top -d <刷新时间间隔> 来指定刷新频率,如top -d 0.1 或top -d 0.01 等。top 执行时,也可以按“s ”键,修改时间间隔。

2、使用【top -H -p 进程号】查看异常线程 3、使用【printf “%x\n” 线程号】将异常线程号转化为16进制 4、使用【jstack 进程号|grep 16进制异常线程号 -A90】来定位异常代码的位置(最后的-A90是日志行数,也可以输出为文本文件或使用其他数字)。可以看到异常代码的位置

参考资料 https://blog.csdn.net/weixin_39726863/article/details/90767436

最新回复(0)