Ubuntu 服务器 CPU、内存、磁盘性能监控指南

Ubuntu 服务器 CPU、内存、磁盘性能监控指南

Ubuntu Server(24.04 LTS / 26.04 LTS)内置了丰富的命令行监控工具,从基础的 top 到现代 Rust 实现的 btop,再到历史统计的 sar,可以覆盖实时查看、瓶颈诊断、历史趋势分析等几乎所有场景。

性能监控的核心指标:

  • CPU:使用率(user/system/idle/iowait)、负载平均值(1/5/15 min)、上下文切换、进程数
  • 内存:总/已用/可用、缓存/缓冲、swap 使用率与换页频率(si/so)
  • 磁盘:IOPS、吞吐量(kB_read/s、kB_wrtn/s)、等待时间(await)、%util(饱和度)、队列长度

以下按实时交互式命令行统计历史数据分类展开,结合 2025–2026 年实际生产推荐。

1. 实时交互式监控(最常用,推荐首选 btop / htop)

这些工具提供彩色、鼠标支持、进程排序、kill 功能,适合快速诊断“现在谁在吃资源”。

工具安装命令核心优势(2026 年视角)CPU/内存/磁盘覆盖资源占用推荐场景
btopsudo apt install btopRust 实现、最美观 UI、GPU 支持、自定义布局、鼠标操作、冻结帧全(磁盘、网络、进程)极低现代首选,日常监控、开发机/服务器首装
htopsudo apt install htop经典、树状进程视图、多核条形图、F2 配置、F9 killCPU/内存/进程为主,磁盘弱兼容性最好、生产服务器标配
glancessudo apt install glances全能概览(CPU/内存/磁盘/网络/传感器/容器)、Web 模式、导出 CSV最全面中等一屏看全系统 + 远程监控(glances -w)
bottom (btm)cargo install bottom 或 apt(部分仓库)Rust、类似 btop、可视化图表、主题丰富极低btop 替代,偏好不同 UI 的用户

安装与快速上手

Bash
sudo apt update && sudo apt install -y btop htop glances sysstat
# Rust 工具(可选)
cargo install bottom

常用操作技巧

  • btop:鼠标点击排序、m 切换内存单位、箭头选进程 → Enter 查看详情 → q 退出
  • htop:F6 排序(CPU/MEM/IO)、F5 树视图、空格多选 kill
  • glances:上下键切换视图、1 显示单核、d 显示磁盘详情、q 退出

生产常用组合

  • 快速看整体:btop 或 glances
  • 进程吃 CPU/内存:htop 按 F6 → RES/CPU%
  • 磁盘谁在狂写:iotop(需 sudo,类似 top 但针对 IO)

2. 命令行统计工具(无交互,适合脚本/监控)

这些工具输出纯文本,便于 cron、脚本、Prometheus exporter 采集。

工具命令示例重点指标解释典型用法场景
toptop -b -n 1 或 top -1(显示所有核)load average、%Cpu(s)、内存条、进程列表脚本采集、基础检查
free -hfree -h -s 5(每 5s 刷新)total/used/available、buff/cache、swap内存压力快速判断
vmstat 1 5vmstat 1 5procs(r/b)、memory、swap(si/so)、io(bi/bo)、cpu换页频繁(si/so 高)、IO 等待(wa 高)
iostat -x 1 5iostat -xmdz 1 5(需 sysstat)%util、await、svctm、r/s w/s、rkB/s wkB/s磁盘饱和度(%util >80–90% 为瓶颈)
iotopsudo iotop –only实时进程级 DISK READ/WRITE找出哪个进程在狂写日志/数据库
mpstat 1 5mpstat -P ALL 1 5(需 sysstat)每个 CPU 核的使用率(usr/sys/iowait/irq)多核不均衡、iowait 高
pidstatpidstat -u 1 5 或 pidstat -d 1(磁盘)进程级 CPU/IO 统计特定进程性能追踪

sysstat 套装

Bash
sudo apt install sysstat
# 启用数据收集(默认每 10 分钟采样)
sudo systemctl enable --now sysstat

3. 历史数据与长期趋势(sar + 需要时装 Netdata/ Prometheus)

  • sar(sysstat 提供):历史 + 实时
    Bash
    sar -u 1 5             # CPU 历史/实时
    sar -r 1 5             # 内存 + swap
    sar -d 1 5             # 磁盘(-p 显示设备名)
    sar -n DEV 1 5         # 网络
    # 查看昨天整天 CPU
    sar -u -f /var/log/sysstat/sa24
  • 长期趋势推荐(2026 年生产主流):
    • Netdata:零配置、实时 Web 仪表盘、历史图表、警报(CPU/内存/磁盘/网络/进程/容器全覆盖)
      Bash
      bash <(curl -Ss https://my-netdata.io/kickstart.sh)
      # 访问 http://你的IP:19999
    • Prometheus + Node Exporter:指标采集 + Grafana 可视化,适合多服务器集群
    • Glances Web 模式:glances -w → http://IP:61208(轻量替代)

4. 瓶颈快速判断口诀(生产常用)

  • CPU:load average > 核数 × 1.5–2 → 过载;iowait > 20% → 等 IO;usr 高 → 应用计算密集
  • 内存:available < 10% 或 swap 使用 > 几百 MB + si/so >0 → 内存压力大
  • 磁盘:%util > 85–90% + await > 10–20ms → 存储瓶颈;rkB/s wkB/s 远低于盘规格 → 没饱和但慢(可能是随机 IO)

5. 2026 年生产生存建议

  1. 新服务器必装:btop(或 htop)+ sysstat + iotop
  2. 日常监控:btop 或 glances 一屏看全
  3. IO 异常:iotop + iostat -xmdz 1
  4. 长期观察:启用 Netdata(最简单)或 Prometheus
  5. 脚本监控:用 sar、vmstat、free 采集 → 推送到告警系统

这些工具组合用熟后,基本能在 30 秒内定位“为什么服务器卡了”。

Telegram
Telegram服务器销售@IDCSELL