linux 线上 CPU100% 排查
如何定位是哪个服务进程导致 CPU 过载,哪个线程导致 CPU 过载,哪段代码导致 CPU 过载 .
找出系统中占用 CPU 最高的线程 PID
-c 显示服务完整的路径和名称
复制代码
不要退出 top,直接输入 P(必须大写),让 CPU 利用率从大到小排列
比如找到的进程 ID 是
1584
找到最耗 CPU 的线程
一个进程下面一般会有很多的线程,每个线程对 CPU 的使用率也是不一样的,我们需要找到最耗 CPU 的线程 ID
top -Hp 1584 ,显示一个进程的线程运行信息列表
H 打印线程信息
p 指定 pid
同样不要退出 top,键入 P (大写 p),线程按照 CPU 使用率排序
比如我们找到 CPU 使用率使用率最高的线程 ID 是 1592
将线程 PID 转化为 16 进制
复制代码
查看堆栈
复制代码
这样就可以找到引起 CPU 使用率过高的问题代码位置。
原文链接:https://rumenz.com/rumenbiji/linux-cpu-100.html
微信公众号:入门小站
版权声明: 本文为 InfoQ 作者【入门小站】的原创文章。
原文链接:【http://xie.infoq.cn/article/a2c3bf0a6050b4b83920a3404】。文章转载请联系作者。
评论