Linux下解决CPU占用率100%问题的步骤

我们经常会解决一些cpu占用率100%的问题,有些问题可能比较容易分析,比如正在处理大文件、或进行复杂运算。但是有些问题往往隐藏的比较深,因此需要进行稍微专业一点的分析,看看是哪些进程占用了cpu资源,进而分析是进程中的哪些线程占用了cpu资源,最终通过导出堆栈轨迹,分析是哪块代码出现了问题。

现整理解决该问题的大致步骤,供大家参考:

1. 确定cpu占用率高的进程ID - PID

在Linux下可以使用 jps -v 或者 top 命令直接查看。

2. 查看进程中cpu占用率高的线程ID - TID

执行top -H -p [PID],查看结果

3. 将线程ID - TID 转换成16进制 - XTID

执行printf "%x\n" [TID],输出结果记为 XTID

4. 将进程中的所有线程输出到文件

执行命令jstack [PID] >> jstack.txt

5. 在输出文件中查找对应的线程ID

执行命令cat jstack.txt | grep -i [XTID]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值