Orange的运维学习日记--12.Linux系统负载监控

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.9240.73理想状态,资源有冗余
4.4841.12较忙,可能排队
5.2041.30压力较大,需优化

若负载长期高于每核 1,说明系统始终处于资源饱和状态,易产生延迟或响应慢现象。此时应判断是 CPU 不足、I/O 阻塞或应用设计不合理。


top 命令详解

top 是 Linux 内置的实时监控工具,功能全面且操作灵活:

image-20250727144519947

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帮助菜单,显示所有快捷键

image-20250727144633589

配图中展示了详细界面,可观察各进程资源占用情况,有助于识别系统瓶颈。


辅助负载分析工具

为了更全面地观察系统负载,推荐搭配使用以下工具:

  • 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 限制下的负载行为,对容器化场景尤为关键

  • 在云或虚拟化环境中,注意资源共享造成的虚假负载表现,如宿主机争用影响容器响应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值