上一篇
在Linux中,使用
top、
uptime 或
w 命令查看系统负载(Load Average),显示在输出信息的顶部,负载值表示单位时间内处于可运行或不可中断状态的平均进程数,也可直接读取
/proc/loadavg 文件。
在Linux系统中,监控系统负载是维护服务器性能和稳定性的关键操作,系统负载(Load Average)反映了CPU任务队列的繁忙程度,包含三个关键值:1分钟、5分钟和15分钟的平均负载,理想情况下,负载值应接近或低于CPU核心数(例如4核CPU的负载长期超过4,说明系统过载),以下是详细的查看方法:
核心命令工具
uptime 命令
最快捷的方式,显示当前时间、系统运行时长、用户数和负载平均值:
$ uptime 10:30:45 up 15 days, 3:22, 2 users, load average: 0.58, 1.20, 2.05
- 解读:
58(1分钟负载) <20(5分钟) <05(15分钟)
说明近期负载呈下降趋势,系统压力缓解中。
top 或 htop 命令
动态实时监控工具:

$ top # 首行显示:load average: 1.01, 0.95, 0.87
htop(推荐):
彩色界面更直观(需安装:sudo apt install htop)。
查看 /proc/loadavg 文件
直接读取内核数据:
$ cat /proc/loadavg 0.75 0.80 0.85 2/500 12831
- 字段含义:
前三位是负载值,第四位2/500(运行中进程数/总进程数),第五位最后创建的进程PID。
高级监控工具
mpstat(多核CPU分析)
$ mpstat -P ALL 1 # 每秒刷新所有CPU核心利用率
结合负载值分析:若负载高但CPU利用率低,可能卡在I/O等待(如磁盘瓶颈)。
glances(综合仪表盘)
安装:sudo apt install glances
展示负载、内存、磁盘、网络等实时数据(按q退出)。

sar(历史记录分析)
$ sar -q # 查看历史负载数据(需安装sysstat)
负载值解读与健康标准
-
核心数对比:
先获取CPU核心数:nproc或grep 'model name' /proc/cpuinfo | wc -l
示例:4核CPU的负载:<4:正常>4:过载(需优化)- 15分钟值持续高于1分钟值:系统压力在减轻。
-
异常场景:

- I/O瓶颈:负载高但
%CPU低(top中%wa值高)。 - CPU瓶颈:负载和
%us(用户进程CPU使用率)均高。
- I/O瓶颈:负载高但
自动化监控建议
- 告警配置:
使用Zabbix、Prometheus设置负载阈值告警(如15分钟负载 > 核心数×0.7)。 - 日志记录:
通过cron定时任务记录负载:* * * * * echo $(date) $(cat /proc/loadavg) >> /var/log/load.log
- 优先命令:
uptime(快速查看)、htop(交互分析)。 - 关键原则:负载需结合CPU核心数评估(如
nproc)。 - 持续高负载:检查
top中的%wa(I/O等待)、%us(用户进程)或内存瓶颈(free -h)。
引用说明:
- Linux内核文档(
man proc关于/proc/loadavg的解释)。- Sysstat工具集官方手册(
man sar)。- Ubuntu Server最佳实践指南(CPU性能优化部分)。
