Orange的运维学习日记–12.Linux系统负载监控
文章目录
系统负载概述
在 Linux 系统中,“系统负载”是衡量当前系统繁忙程度的重要指标,核心意义在于:系统有多少任务正在积极等待处理资源,无论是 CPU 或 I/O。
-
活动请求数
:包含运行状态(R)和不可中断等待状态(D)的进程
- R:表示任务正准备运行,等待分配 CPU
- D:表示任务正在等待磁盘或网络 I/O 响应,常因驱动或设备延迟导致卡顿
-
指数移动平均值(EMA)
:通过加权方式,突出近期变化,同时保留一定历史趋势
- Linux 每 5 秒计算一次请求数,并不断更新三类平均值:1 分钟、5 分钟、15 分钟
- 能直观反映负载短期波动与长期趋势,适用于系统资源规划与预警
-
与传统 UNIX 系统相比,Linux 考虑更多因素,包括等待 IO 的任务,使得 Load Average 更贴近实际负载
-
在多核环境下,每个物理核心、超线程都是独立执行单元,都有自己处理任务的能力,因此判断负载时需按核心数折算
查看系统负载
CPU 信息查看
命令:lscpu
功能:显示系统的架构、核心数量、线程、厂商信息等,是评估性能瓶颈前的重要准备
Architecture: x86_64
CPU(s): 2
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 2
Model name: Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz
实时负载监测
命令:uptime
显示当前时间、系统运行时间、用户数及三段负载平均值
13:47:10 up 5:01, 2 users, load average: 0.00, 0.01, 0.05
人工制造负载
使用 md5sum 对 /dev/zero 进行重复计算,可短时间提升 CPU 使用率:
md5sum /dev/zero &
再次观察负载:
13:48:57 up 5:03, 2 users, load average: 1.02, 0.28, 0.13
多核负载评估方法
单看负载值无法判断系统是否超载,必须结合核心数:
| 总负载值 | CPU 核心数 | 平均每核负载 | 解读说明 |
|---|---|---|---|
| 2.92 | 4 | 0.73 | 理想状态,资源有冗余 |
| 4.48 | 4 | 1.12 | 较忙,可能排队 |
| 5.20 | 4 | 1.30 | 压力较大,需优化 |
若负载长期高于每核 1,说明系统始终处于资源饱和状态,易产生延迟或响应慢现象。此时应判断是 CPU 不足、I/O 阻塞或应用设计不合理。
top 命令详解
top 是 Linux 内置的实时监控工具,功能全面且操作灵活:

CPU 使用分析
输出样例如下:
%Cpu(s): 3.0 us, 1.0 sy, 0.3 wa, 95.5 id
- us(User Space):用户进程所占的 CPU 比例
- sy(System):内核态任务占用的 CPU
- wa(Wait):等待磁盘或网络等 I/O 的 CPU 时间比例
- id(Idle):空闲时间,占比越高说明负载低
快捷键功能
| 快捷键 | 功能描述 |
|---|---|
1 | 显示每个核心的负载情况 |
P | 以 CPU 使用率排序 |
M | 以内存使用率排序 |
k | 杀死指定进程(输入 PID) |
q | 退出 top |
h | 帮助菜单,显示所有快捷键 |

配图中展示了详细界面,可观察各进程资源占用情况,有助于识别系统瓶颈。
辅助负载分析工具
为了更全面地观察系统负载,推荐搭配使用以下工具:
- htop:界面友好,支持彩色显示、鼠标操作,可按进程树查看结构
- iostat:分析磁盘 I/O 读写情况,识别慢盘与阻塞设备
- vmstat:查看内存分页、进程切换、I/O 请求等
- mpstat:显示所有 CPU 核心的使用情况,便于观察负载分布是否均衡
- sar:采集历史性能数据,适用于长时间运行负载分析与趋势报表
拓展建议
Linux 系统负载不仅反映当前性能状况,也为后续优化和容量规划提供依据。可以进一步:
-
使用
stress-ng定制化压测 CPU、内存、I/O 等资源以评估系统极限 -
结合
Prometheus + Grafana构建可视化监控平台,实现指标联动与阈值告警 -
理解
cgroup限制下的负载行为,对容器化场景尤为关键
: -
使用
stress-ng定制化压测 CPU、内存、I/O 等资源以评估系统极限 -
结合
Prometheus + Grafana构建可视化监控平台,实现指标联动与阈值告警 -
理解
cgroup限制下的负载行为,对容器化场景尤为关键 -
在云或虚拟化环境中,注意资源共享造成的虚假负载表现,如宿主机争用影响容器响应

535

被折叠的 条评论
为什么被折叠?



