CPU99%排查问题

1、通过ps找到占用CPU最高的进程ID
ps aux | sort -k3nr | head -n 10

2、获取占用CPU最高线程PID
通过下面命令观察占用CPU最多的线程PID
top -Hp 326
返回23501

3、PID转换为16进制数据
使用下面命令将上一步获取到的10进制数23501转换为16进制,得到5bcd

printf ‘%x\n’ 23501

4、使用下面命令获取java进程326的jstack信息,并存储到stack.log文件。

sudo -utomcat jstack 326 > stack.log

5、获取占用CPU最高线程具体信息
根据2.3.3获取到的PID对应的16进制数据5bcd,从2.3.4步获取的stack.log中查找对应的线程信息,根据具体信息分析占用CPU的原因。

grep -A20 5bcd stack.log

如果获取到的线程是GC task开头,表示该线程是垃圾回收线程,说明在频繁GC。

上一篇:在UI界面中播放视频_unity基础开发教程


下一篇:kubernetes中使用ELK进行日志收集