标题: 服务器 Linux 系统的 CPU 持续跑高,CPU占用率较高问题的排查分析 [打印本页] 作者: 花瓣小跑 时间: 2024-11-25 23:19 标题: 服务器 Linux 系统的 CPU 持续跑高,CPU占用率较高问题的排查分析
若出現服務的速度變慢,或突然斷開,可以考慮服務器帶寬和 CPU 是否有跑滿或跑高的問題。
复制代码
Linux 系統下,您可以按如下步驟進行排查:
1 定位问题。找到影响带宽和 CPU 跑满或跑高的详细进程。
2 分析处理。排查影响带宽和 CPU 跑满或跑高的进程是否正常,并分类进行处理。
3 对于 正常进程:您需要对程序进行优化或者升级服务器配置。
4 对于 非常进程:您可以手动对进程进行查杀,也可以使用第三方安全工具去查杀。
本文相关配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试。 其它类型及版本操作系统配置可能有所差异。
详细情况请参阅相应操作系统官方文档。
假如服务器 Linux 系统的 CPU 持续跑高,则会对系统稳固性和业务运行造成影响。
本文对 CPU 占用率较高问题的排查分析做扼要说明。
CPU 跑满或跑高的问题定位
若服务器的 CPU 持续跑高,会对系统的稳固性和业务运行造成影响。
Linux 系统下,查看进程的常用下令如下:
• ps -aux
• ps -ef
• top
Linux 系统中,通常使用 top 下令来查看系统的负载问题,并定位耗用较多 CPU 资源的进程。
操作步调:
说明:资源负载非常时,通常无法通过 SSH 进行远程连接或者连接卡顿,发起您通过管理终端进行连接。
通过 top 下令查看系统当前的运行情况。
top - 17:27:13 up 27 days, 3:13, 1 user, load average: 0.02, 0.03, 0.05
top 下令的第一行显示的内容 17:27:13 up 27 days, 3:13, 1 user, load average: 0.02, 0.03, 0.05 依次为 系统当前时间 、系统到目前为止已运行的时间、当前登录系统的用户数量、系统负载,这与直接实行 uptime 下令查询效果一致。
top 下令的第三行会显示当前 CPU 资源的总体使用情况,下方会显示各个进程的资源占用情况。
通过字母键 P,可以对 CPU 使用率进行倒序分列,进而定位系统中占用 CPU 较高的进程。
说明:通过字母键 M, 您可以对系统内存使用情况进行排序。假如有多核 CPU,数字键 1 可以显示每核 CPU 的负载状况。
通过 ll /proc/PID/exe 可以查看每个进程 ID 对应的程序文件。
CPU 跑满或跑高的分析处理
CPU 的跑满或跑高,在确认详细的进程效果后,针对非常的进程,您需要通过 top 下令将其终止;而对于 kswapd0 进程导致的内存不敷等问题,您需要对系统进行规格的升级或程序的优化。
使用 top 直接终止 CPU 消耗较大的进程
您可以直接在 top 运行界面快速终止相应的非常进程。操作步调如下: