应用服务器cpu高问题排查

作为性能测试工程师,在日常工作中我们会遇到 Linux服务器上出现CPU负载达到100%居高不下的情况,如果CPU 持续跑高,则会影响业务系统的正常运行。

Linux 系统 CPU 占用率较高问题排查思路

很多性能的同学遇到这种状况往往会不知所措,对于CPU过载问题通常使用以下两种方式即可快速定位:

方法一

第一步:使用

top命令,然后按shift+p按照CPU排序
找到占用CPU过高的进程的pid

第二步:使用

top -H -p [进程id]
找到进程中消耗资源***的线程的id

第三步:使用

echo ‘obase=16;[线程id]’ | bc或者printf “%x\n” [线程id]
将线程id转换为16进制(字母要小写)

bc是linux的计算器命令
第四步:执行

jstack [进程id] |grep -A 10 [线程id的16进制]”
查看线程状态信息

方法二

第一步:使用

top命令,然后按shift+p按照CPU排序
找到占用CPU过高的进程

第二步:使用

ps -mp pid -o THREAD,tid,time | sort -rn
获取线程信息,并找到占用CPU高的线程

第三步:使用

echo ‘obase=16;[线程id]’ | bc或者printf “%x\n” [线程id]
将需要的线程ID转换为16进制格式

第四步:使用

jstack pid |grep tid -A 30 [线程id的16进制]
打印线程的堆栈信息

案例分析

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值