广告

Centos7.6下CPU使用率过高的排查方法

2023-12-08

1.在 centos 系统下,使用 top 命令查看 CPU 使用情况

使用 top 命令查看 CPU 使用情况

us(user):表示 CPU 在用户运行的时间百分比,通常用户 CPU 高表示有应用程序比较繁忙。典型的用户程序有:数据库、Web 服务器等。

sy(sys):表示 CPU 在内核态运行的时间百分比(不包括中断),通常内核态 CPU 越低越好,否则表示系统存在某些瓶颈。

ni(nice):表示用 nice 修正进程优先级的用户进程执行的 CPU 时间。nice 是一个进程优先级的修正值,如果进程通过它修改了优先级,则会单独统计 CPU 开销。

id(idle):表示 CPU 处于空闲态的时间占比,此时,CPU 会执行一个特定的虚拟进程,名为 System Idle Process。

wa(iowait):表示 CPU 在等待 I/O 操作完成所花费的时间,通常该指标越低越好,否则表示 I/O 存在瓶颈,可以用 iostat 等命令做进一步分析。

hi(hardirq):表示 CPU 处理硬中断所花费的时间。硬中断是由外设硬件(如键盘控制器、硬件传感器等)发出的,需要有中断控制器参与,特点是快速执行。

si(softirq):表示 CPU 处理软中断所花费的时间。软中断是由软件程序(如网络收发、定时调度等)发出的中断信号,特点是延迟执行。

st(steal):表示 CPU 被其他虚拟机占用的时间,仅出现在多虚拟机场景。如果该指标过高,可以检查下宿主机或其他虚拟机是否异常。
2.通过 top 命令找到 CPU 消耗最多的进程号

通过 top 命令找到 CPU 消耗最多的进程号

3.通过 top -Hp 进程号命令找到 CPU 消耗最多的线程号(列名仍然为 PID)

通过 top -Hp 进程号命令找到 CPU 消耗最多的线程号

4.通过printf "%x\n" 线程号命令输出该线程号对应的 16 进制数字

通过printf "%x\n" 线程号命令输出该线程号对应的 16 进制数字

5.PID进程在内核调用情况 perf top -p 7574 (如果提示perf: command not found,使用yum install perf安装)

PID进程在内核调用情况 perf top -p 7574

6.查看到CPU占用较高的程序之后就可以进行代码的优化调整或者程序的中止

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。本站原创内容未经允许不得转载,或转载时需注明出处!

上一篇:Centos7如何解决yum安装软件报错问题

下一篇:Centos7.6系统修改会话保持时长

这条帮助是否解决了您的问题?已解决未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好!很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!

立即注册91VPS账号,免费体验多款产品
立即注册
联系我们
全国咨询热线:
0712-5319406
QQ客服:
800193021
91VPS微信客服

扫码联系微信客服