在Linux系统中CPU使用率过高怎么办?

文章目录

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


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


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

定位工具介绍:top 命令

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

%RAK部落%

上半部分显示 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 使用率高的进程。

  1. 通过 SSH 或者 VNC 方式登录服务器
    说明:CPU 使用率过高,容易引起服务器登录不上,此时可以尝试使用 VNC 登录的方式。
  2. 输入 top 命令查看系统负载。
  3. 输入大写 P,进程按 CPU 使用率降序排列;通过排序,可以方便得获得占用 CPU 资源较多的进程,进行进一步的分析。
%RAK部落%

4.分析占用 CPU 高的进程。

  1. 如果为业务进程,建议分析业务程序是否有优化空间,进行优化或者提升实例的资源配置。
  2. 如果为异常进程,实例可能中毒,可以自行终止进程、使用安全软件进行查杀或者进行数据备份后,重装系统。

使用 top 命令结束进程

  1. 键入小写 k,输入想要结束进程的 pid(默认为排序第一的进程),回车。
%RAK部落%

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

%RAK部落%

此教程来自固定链接:http://www.rakbuluo.com/p25/

原文链接:,转发请注明来源!

发表评论