Ubuntu Server 如何监控系统资源

Ubuntu Server(以24.04 LTS及后续点版本为主)监控系统资源的目标是实时了解CPU、内存、磁盘、网络、进程、温度等状态,及时发现瓶颈、异常增长、资源耗尽或硬件问题。监控分为三个层次:即时查看(CLI终端)、实时仪表盘(Web界面)、长期趋势与告警(时序数据库+可视化)。

以下按复杂度与适用场景从简单到高级排序,包含原理、安装方式与典型使用场景。

1. 即时查看类工具(CLI终端,最常用日常排查)

这些工具零配置或极低配置,适合SSH登录后秒级查看。

top / htop / btop(进程与整体资源)

  • top:Ubuntu预装,top 即可启动。 显示:CPU使用率(%usr/%sys/%iowait/%steal)、内存(total/used/free/available)、进程列表。 常用按键:Shift+M(按内存排序)、Shift+P(按CPU)、k(杀进程)。
  • htop:增强版top,颜色更友好、可鼠标操作。 安装:sudo apt install htop 优势:树状进程视图、颜色区分状态、F2自定义显示字段。
  • btop:现代美观版(2024–2026流行),支持GPU监控(需额外插件)。 安装:sudo apt install btop(或从GitHub deb包) 特点:圆环图、温度显示、非常直观。

使用场景:快速看哪个进程吃资源、是否出现高iowait或内存泄漏。

glances(一屏全览)

综合监控神器,一屏显示CPU、内存、磁盘、网络、传感器、进程、Docker容器等。

安装:sudo apt install glances

启动:glances 或 glances -w(Web模式,默认61208端口)

优势:

  • 实时更新
  • 支持导出CSV/JSON
  • 可监控远程服务器(glances -s 服务端 + 客户端连接)

场景:单服务器概览、轻量Web监控。

nvtop / asitop(GPU监控,AI/渲染服务器必备)

  • nvtop:NVIDIA GPU专用,类似htop的GPU版。 安装:sudo apt install nvtop(24.04+仓库已有)
  • asitop:Apple Silicon或AMD/Intel集成显卡类似工具。

场景:跑大模型、CUDA任务时监控显存、功耗、温度。

2. 实时Web仪表盘类(推荐大多数人日常使用)

安装一次,浏览器随时看,无需登录服务器。

Netdata(2025–2026最受欢迎的单机实时监控)

特点:

  • 安装即用,1分钟内部署
  • 每秒采集数千指标(CPU每个核心、磁盘每个分区、网络每个接口、cgroup、ZFS、Docker、MySQL/PostgreSQL等)
  • 内置ML异常检测(自动标记异常峰值)
  • Web界面极美观,支持告警(Slack、Discord、Email、Telegram)

安装(最简单方式):

Bash
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

访问:http://你的服务器IP:19999

推荐配置:

  • 启用长期存储(默认1小时高精度,之后降采样)
  • 设置告警规则(CPU>90%持续5min、磁盘剩余<10%等)

场景:个人服务器、VPS、小型项目首选;资源占用低(~100–200MB RAM)。

Prometheus + Node Exporter + Grafana(生产级标准组合)

适用于多台服务器、容器集群、需要长期趋势与复杂告警。

架构:

  • Node Exporter:采集主机指标(CPU、内存、磁盘、文件句柄、负载等)
  • Prometheus:时序数据库,拉取指标、存储、查询
  • Grafana:仪表盘、可视化、告警

快速部署(单机版示例):

  1. 安装Node Exporter:
    Bash
    sudo apt install prometheus-node-exporter
  2. 安装Prometheus & Grafana(推荐用snap或官方deb): Snap方式最简单:
    Bash
    sudo snap install prometheus
    sudo snap install grafana
  3. 配置Prometheus scrape job指向localhost:9100(node_exporter默认端口)
  4. Grafana导入社区仪表盘ID 1860(Node Exporter Full)或6417(Netdata集成)

场景:多服务器、Kubernetes、需要历史曲线对比、告警规则复杂的企业/中大型项目。

3. 其他值得一提的工具

工具类型主要优势资源占用推荐场景
atopCLI历史记录记录每10分钟快照,可回溯进程事后分析谁占用了资源
sar (sysstat)历史统计CPU/内存/IO/网络历史报告极低长期趋势,无需Web界面
Telegraf + InfluxDB + Grafana全栈采集插件丰富,支持几乎所有服务已有InfluxDB生态
Zabbix企业级主动/被动监控、自动发现、告警中–高多主机、需要代理的场景
Checkmk功能强大自动服务发现、非常多插件混合环境(Linux+Windows)

推荐监控组合

  • 个人/小型项目/VPS:Netdata(或Glances Web)+ htop/btop
  • 中型项目/多服务器:Netdata(单机实时)+ Prometheus + Grafana(趋势+告警)
  • 生产环境/容器化:Prometheus + Node Exporter + cAdvisor(容器)+ Grafana + Alertmanager
  • 极简需求:htop + glances + sar

实用建议

  1. 先从 htop + glances 开始,熟悉系统行为。
  2. 资源紧张时优先Netdata(占用远低于Prometheus+Grafana)。
  3. 设置告警非常重要:CPU持续高、磁盘满、内存swap使用率上升、负载平均>核数×2 等。
  4. 定期查看 /proc/meminfo、iostat -x 1、vmstat 1 验证工具数据准确性。
  5. 云服务器额外关注 steal 时间(CPU被宿主机偷走),>5–10%说明超售严重。

通过这些工具组合,你可以从“事后救火”升级到“提前发现问题”,显著提升Ubuntu Server的稳定性和可维护性。

THE END