Linux下CPU过高问题排查记录,简单实用

在服务器报cpu过高时,可使用以下命令,快速导出堆栈信息,以方便查看具体的问题。

CPU问题排查

top命令

使用top命令定位异常进程。可以看见12836的CPU和内存占用率都非常高
在这里插入图片描述
此时可以再执行pef | grep java,查看所有的java进程,在结果中找到进程号为12836的进程,即可查看是哪个应用占用的该进程。

top -H -p 进程号

使用top -H -p 进程号查看异常线程在这里插入图片描述

printf “%x\n” 线程号

使用printf “%x\n” 线程号将异常线程号转化为16进制
在这里插入图片描述

jstack 进程号|grep 16进制异常线程号 -A90

使用jstack 进程号|grep 16进制异常线程号 -A90来定位异常代码的位置(最后的-A90是日志行数,也可以输出为文本文件或使用其他数字)。可以看到异常代码的位置。
在这里插入图片描述

注意事项:

如果提示 -bash: jstack: command not found,则可以找到jdk的目录,进入bin目录, 在执行 ./jstack 进程号 | grep 16进制异常线程号 -A90 即可。

如果提示 well-known file is not secure,则是因为账号权限的问题。
在/tmp/hsperfdata_KaTeX parse error: Expected group after '_' at position 71: …用户是否和hsperfdata_̲USER这个文件所属的用户一致,如果不一致,切换至成一致再执行。执行:sudo -u 有权限的账号 ./jstack 进程号 | grep 16进制异常线程号 -A50 即可。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无奈的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值