系统排查 Linux Load Average 高:区分 CPU、IO、内存、Swap、锁和外部依赖并保留现场。
先保留现场,不要先重启。SSH 登录后记录 uptime、top、vmstat 1、free -h、df -h 和最近系统日志。只读检查不会改数据。Load Average 是可运行和不可中断任务的数量,不等于 CPU 使用率;CPU 很空但负载高,常见原因是磁盘或网络存储等待。强杀进程、清缓存和扩容都会带来中断或费用,必须先判断瓶颈。

先记录现场
date
uptime
nproc
free -h
vmstat 1 10
top -b -n 1 | head -40
ps -eo pid,ppid,user,stat,%cpu,%mem,etimes,cmd --sort=-%cpu | head -20不要在记录前立即重启。Load 应结合 CPU 核数和业务延迟理解,不能只看单个数字。
CPU 跑满
vmstat 中 us、sy 较高且 r 持续大于可用 CPU,说明计算竞争明显。使用 pidstat 或 top -H 找线程热点,再结合慢查询、请求追踪或 profiler 定位路径,不能只按 CPU 排名直接杀进程。
I/O 等待
iostat -xz 1 10
pidstat -d 1 10
ps -eo state,pid,comm,wchan:32 | awk '$1 ~ /D/'wa 高、磁盘延迟上升或大量 D 状态进程,可能指向云盘上限、日志突增、数据库随机 I/O 或远程存储。还要核对平台侧磁盘监控和实例吞吐上限。
内存与 Swap 压力
free -h
vmstat 1 10
ps -eo pid,user,%mem,rss,cmd --sort=-rss | head -20
journalctl -k --since '-1 hour' | grep -Ei 'oom|out of memory|killed process'available 持续很低、si/so 频繁或出现 OOM 记录时,应检查泄漏、缓存策略与实例容量。Linux 使用空闲内存做页缓存是正常行为。
关联变更和时间
对照部署、定时任务、备份、日志轮转、流量和外部依赖。固定时间出现时优先检查 cron、systemd timer 和数据库维护;只在请求高峰出现时按接口和依赖耗时拆分。
排查顺序
- 记录时间、Load、核数、内存和业务症状。
- 区分 CPU、I/O、内存或锁等待。
- 定位具体进程、线程、磁盘或接口。
- 先通过限流、移除异常节点或扩容止损。
- 保留证据后修复根因并补充告警。
现象对照
| 现象 | 优先方向 |
|---|---|
| us/sy 高,r 长 | CPU 或内核开销 |
| wa 高,D 状态多 | 磁盘或远程 I/O |
| si/so 持续出现 | 内存和 Swap 压力 |
| 资源不高但接口慢 | 锁、连接池、外部依赖 |
边界条件
Load 是线索而不是根因。不要用清缓存、重启或杀进程代替长期修复;生产采样也应控制频率。
把输出分成四条路径
- CPU:
us/sy长期高、运行队列超过可用 CPU,找占用进程和调用栈。 - I/O:
wa高、任务处于 D 状态,检查磁盘延迟、吞吐上限和最忙目录。 - 内存:可用内存持续低、Swap 频繁换入换出,检查泄漏、缓存和容器限制。
- 虚拟化限制:CPU steal 或突发实例积分耗尽,应用没变也可能变慢。
只读取证的顺序
- 用
ps/top记录进程 PID、CPU、内存、运行时间和命令。 - 把异常时间与发布、备份、日志轮转、爬虫和定时任务对齐。
- 检查磁盘容量和 inode,防止“高负载”其实是写入失败重试。
- 查看应用错误率、慢查询和上游延迟,不能只看系统平均值。
- 持续采样数分钟,区分瞬时峰值与稳定瓶颈。
对应处理不要混在一起
单个失控进程先尝试正常停止并保留日志;数据库 CPU 高先查慢查询和索引;I/O 高先找读写来源和云盘上限;内存压力先限制异常进程或降低并发。只有确认资源长期不足,才评估升配。一次同时重启、扩容和改配置,会让根因无法复盘。
验收与回退
在相近请求量下比较变更前后的 p95 延迟、错误率、运行队列、I/O 等待和内存趋势,至少覆盖一次原异常窗口。变更应用参数就保留旧配置;变更实例规格前做快照并记录原规格。新规格或新参数没有改善时切回,继续从证据排查,不能以“负载暂时下降”宣布修复。
Linux 云服务器负载高怎么排查现场验收单
- 入口或命令:SSH 进入服务器,先记录 uptime、top、vmstat、free、df 和近期日志
- 提交前风险:只读命令不收费不改数据;重启、kill、清缓存或扩容可能中断和收费
- 不能继续时:负载高但 CPU 空闲、单进程跑满、I/O 等待、Swap 抖动、僵尸/不可中断任务、突发实例积分耗尽
- 完成证据:相同请求量下延迟、负载、CPU、I/O、内存和错误率恢复并稳定
- 退出办法:保留进程与日志证据;变更一次一项,失败恢复配置或切回旧实例规格

