Linux 系统CPU 使用率过高

发布时间 - 2021-12-07 10:41:08

CPU 使用率过高,容易引起服务响应速度变慢、服务器登录不上等问题。可以创建 CPU 使用率阈值告警,当 CPU 使用率超过阈值时,将及时通知管理员

CPU 使用率过高排查的步骤大致为:定位消耗 CPU 的具体进程,对 CPU 占用率高的进程进行分析。如果为异常进程,可能是病毒或木马导致,可以自行终止进程,或者使用安全软件进行查杀;如果是业务进程,则需要分析是否由于访问量变化引起,是否存在优化空间;


下面将介绍 Linux 系统下如何定位出 CPU 使用率过高的进程。

定位工具介绍:top 命令

top:Linux 系统下常用的监控工具,用于实时获取进程级别的 CPU 使用情况。下图是 top 命令的输出信息。

raksmart


上半部分显示 CPU 和内存资源的总体使用情况:
行:系统当前时间,当前登录用户个数以及系统负载。
第二行:系统总进程数、运行中进程数、休眠、睡眠和僵尸进程数量。
第三行:CPU 当前使用情况。
第四行:内存当前使用情况。
第五行:swap 空间当前使用情况。

下半部分以进程为维度显示资源的占用情况。
PID:进程 ID。
USER:进程所有者。
PR:进程优先级 NI:NICE 值,NICE 值越小,优先级越高。
VIRT:使用的虚拟内存大小,单位 KB。
RES:当前使用的内存大小,单位 KB。
SHR:使用的共享内存的大小,单位 KB。
S:进程状态。
%CPU:更新时间间隔内进程所使用的 CPU 时间的百分比。
%MEM:更新时间间隔内进程所使用的内存的百分比。
TIME+:进程使用的 CPU 时间,到 0.01s。
COMMAND:进程名称。

问题定位及处理

使用工具定位 CPU 使用率高的进程

前面介绍了 top 工具,下面介绍如何利用该工具定位出 CPU 使用率高的进程。

通过 SSH 或者 VNC 方式登录服务器
说明:CPU 使用率过高,容易引起服务器登录不上,此时可以尝试使用 VNC 登录的方式。

  1. 输入 top 命令查看系统负载。

  2. 输入大写 P,进程按 CPU 使用率降序排列;通过排序,可以方便得获得占用 CPU 资源较多的进程,进行进一步的分析。

raksmart

分析占用 CPU 高的进程。


  1. 如果为业务进程,建议分析业务程序是否有优化空间,进行优化或者提升实例的资源配置。

  2. 如果为异常进程,实例可能中毒,可以自行终止进程、使用安全软件进行查杀或者进行数据备份后,重装系统。

使用 top 命令结束进程

键入小写 k,输入想要结束进程的 pid(默认为排序的进程),回车。

raksmart

操作成功,界面会出现 Send pid 984 signal [15/sigterm] 的提示信息,回车确认即可。

raksmart


在线咨询
联系方式
微信二维码
线