Linux系统平均负载反映的是单位时间内处于可运行(R)和不可中断睡眠(D)状态的进程平均数量,而非CPU使用率;它体现系统资源排队压力,是判断响应变慢的第一线索,可通过uptime、top、/proc/loadavg、vmstat等命令分层排查。

Linux 系统的平均负载(load average)反映的是单位时间内处于可运行状态(R)和不可中断睡眠状态(D)的进程平均数量,不是 CPU 使用率。它直接体现系统资源排队压力,是判断响应变慢、服务卡顿的第一线索。
用 uptime 快速查看负载快照
这是最轻量、最常用的方式,适合日常巡检或脚本调用:
- 执行
uptime,输出末尾类似load average: 0.45, 0.32, 0.28 - 三个数值分别代表过去 1 分钟、5 分钟、15 分钟的平均负载
- 其中 5 分钟值最稳定,诊断时优先参考;若该值持续高于 CPU 核心数,说明系统存在排队压力
用 top 实时观察负载与进程关联
top 不仅显示负载,还能同步看到哪些进程在消耗资源,便于快速定位根因:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- 运行
top,顶部右侧即显示 load average 字段 - 按 P 键按 CPU 使用率降序排列,找高 %CPU 进程(如 php-fpm、java)
- 按 M 键按内存排序,排查内存泄漏或缓存膨胀
- 关注
%wa(I/O 等待)是否偏高:若 >20%,说明磁盘或网络 I/O 可能成为瓶颈
用 /proc/loadavg 获取原始内核数据
这个文件由内核直接维护,无格式开销,适合监控脚本或日志采集:
- 执行
cat /proc/loadavg,返回如0.45 0.32 0.28 2/124 19876 - 前三列仍是 1/5/15 分钟负载
- 第四列
2/124表示当前有 2 个进程在就绪队列等待运行,系统共有 124 个进程 - 第五列是最近分配的 PID,可用于辅助分析进程生命周期
用 vmstat 查看负载背后的调度细节
当负载升高时,需确认是 CPU 争用、I/O 阻塞,还是大量进程卡在 D 状态:
- 运行
vmstat 1(每秒刷新一次) - 重点关注
r列(就绪进程数):若长期 > CPU 核心数,说明 CPU 不够用 - 关注
b列(不可中断进程数):若明显偏高,可能是磁盘故障、NFS 挂载异常等导致 - 结合
wa(I/O 等待)和id(空闲)判断是否 I/O 成为瓶颈

















