帮忙么网 > Linux > 当前页面

线上CPU飙升100%问题排查

2024-10-25 NEW个对象

线上CPU飙升100%问题排查?

1、查看cpu的使用情况

top命令,找到使用cpu使用最高的线程

2、实用工具Arthas

启用工具,使用Arthas命令"thread -n 3 -i 1000"查看当前"最忙"(耗CPU)的三个线程。

3、分析输出情况,找到代码对应的位置

4、分析代码是否问题。

造成cpu飙升的常见原因:

1、死锁
2、频繁的full gc
3、死循环
4、第三方bug
5、服务器配置太差
6、等等

----------------------------------------------------------

定位导致cpu过高的位置,还可以通过jstack命令:

1、top命令,找到使用cpu使用最高的进程pid
2、top -Hp 进程pid。获取进程里那个线程占用cpu最高。
2、将线程pid,转换为16进制。
3、jstack 命令,输入日志。

《jstack 进程pid | grep -a 200 线程pid的十六进制》

4、根据日志,找到代码位置。
5、分析代码的问题。

上一篇:日常开发中Linux的常用命令

下一篇:

相关文章

推荐文章