Linux 服务器 CPU 占用过高排查指南
欢迎关注我的公众号「DevOps和k8s全栈技术」,进公众号【服务】栏,可以看到技术群,点击即可加入学习交流群。↓↓↓
关注公众号,免费学技术~
当你的 Linux 服务器 CPU 飙高时,通常意味着有某些进程异常占用资源。
这篇文章会教你 如何快速定位 CPU 高占用的原因,以及如何用多种常见工具进行检查。
同时,也会解释 CPU 使用率(CPU Utilization) 与 CPU 负载(Load Average) 的区别。别看它们名字像,但含义完全不同:
CPU 使用率(utilization):CPU 当前在忙多少(百分比)。
CPU 负载(load):有多少任务正在执行或排队等 CPU。
理解这两个指标,有助于你判断服务器是否真的“卡”。
一、先更新系统(可选)
登录服务器后,可以先把系统更新到最新状态:
Ubuntu / Debian
apt-get update -y
CentOS / RHEL
dnf update -y# 或yum update -y
二、查看 CPU 占用高的进程
Linux 有多种工具可以用来排查谁在吃 CPU。下面介绍常用方式。
1. 使用 top 命令排查(最常用)
top 是监控 CPU、内存、进程状态最常用的工具。
执行:
top
你会看到一个实时刷新界面,在 top 界面中可以快速操作↓↓↓
按 P
按 CPU 使用率排序

按 M
按内存使用率排序

按 i
隐藏空闲进程

按 S
按进程运行时长排序

按 U
查看某个用户的进程

2. 使用 sar 监控历史与实时 CPU
sar 可以按时间间隔监控 CPU 使用率:
sar -u 2
每 2 秒输出一次:

停止使用 Ctrl + C。
sar 的使用方式较多,如果需要高级监控,可以参考原文链接。
3. 使用 iostat 查看 CPU 和 IO
iostat
可显示 CPU、磁盘 IO 等信息:

仅看 CPU:
iostat -c
输出类似:

4. 使用 vmstat 查看 CPU、内存、等待队列
最常用:
vmstat
输出示例:

实时监控:
vmstat 2

停止使用 Ctrl + C。
5. 使用 uptime 快速看系统负载
uptime
可查看:
当前系统时间
运行时长
当前登录用户
1 分钟、5 分钟、15 分钟负载
示例输出:

6. 使用 ps 找出最高 CPU 的进程
ps
默认输出:

按 CPU 排序显示前 10 个进程
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10

ps 不显示系统负载,但非常适合找出:
谁在占 CPU?
是否有进程跑满 CPU?
是否有僵尸进程?
是否有疯狂反复启动的进程?
三、如何解决 CPU 占用高的问题?
找到原因后,可以使用以下方法处理。
1. 杀死或重启异常进程
最常见情况:
某个进程跑满 CPU
程序卡死在不可中断状态(D 状态)
某个任务出现死循环
解决办法:
kill -9
或重启服务。
2. 更新系统与驱动
某些旧软件或驱动会导致 CPU 异常升高。
建议定期执行:
apt upgrade或yum update
3. 重新安装或降级应用
某些应用高 CPU 可能是软件 bug。
可以尝试:
重装
降版本
切换到稳定版本
4. 实在没办法,重启系统
如果你确认进程都正常但系统仍旧高 CPU,重启可能让资源恢复:
reboot
但注意:
生产服务器慎重重启,要看业务是否允许停机。
四、如果没有单个进程占用高 CPU?
如果 top、ps 都没有看到“罪魁祸首”,那可能是:
机器本身性能不足
多个程序共同拉高 CPU
IO、内存等待导致 load 很高
某些服务过载(MySQL、Nginx 等)
解决建议:
✔ 分离高负载应用
例如把 MySQL、Nginx 单独拆到独立服务器。
✔ 升级服务器配置
如:
提升 vCPU 数量
增加内存
切换更高性能实例规格
总结
排查 CPU 占用过高的顺序通常是:
top 看当前谁最耗 CPU
ps 按 CPU 排序确认具体进程
sar/iostat/vmstat 判断是否是 IO、系统等待导致的假高
uptime 看负载是否持续偏高
根据情况:杀进程、更新软件、重装、扩容或重启
”
END
➤ 往期精彩回顾

云计算架构师韩先超亲身经历 | 记录从大学到现在工作经历
我的2024年终总结:在坚持中成长,在选择中前行
韩先超对咪咕进行【K8S超大规模集群与AI赋能算力网络调度】培训
韩先超对合肥电信进行线下Kubernetes技术培训
推荐书籍:《Kubernetes从入门到DevOps企业应用实战》——韩老师以企业实战为背景出版的一本高质量书籍:销量突破1万
韩先超在2025年3月,对国网进行Python线下培训圆满落幕
韩先超对中国铁道科学研究院进行【容器 + Kubernetes 安全培训】-2025年7月
百万线上事故复盘:K8s存活探测配错,凌晨重启导致损失百万!
别让探针害了你:一次价值百万的Kubernetes健康检查惨案
Kubernetes的15大典型应用场景:从微服务到AI,让你彻底搞懂K8s的真正价值
Docker 使用场景:15 种最常见的 Docker 用法

欢迎关注我的公众号「DevOps和k8s全栈技术」,进公众号【服务】栏,可以看到技术群,点击即可加入学习交流群。↓↓↓
关注公众号,免费学技术~










