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:仪表盘、可视化、告警
快速部署(单机版示例):
- 安装Node Exporter:Bash
sudo apt install prometheus-node-exporter - 安装Prometheus & Grafana(推荐用snap或官方deb): Snap方式最简单:Bash
sudo snap install prometheus sudo snap install grafana - 配置Prometheus scrape job指向localhost:9100(node_exporter默认端口)
- Grafana导入社区仪表盘ID 1860(Node Exporter Full)或6417(Netdata集成)
场景:多服务器、Kubernetes、需要历史曲线对比、告警规则复杂的企业/中大型项目。
3. 其他值得一提的工具
| 工具 | 类型 | 主要优势 | 资源占用 | 推荐场景 |
|---|---|---|---|---|
| atop | CLI历史记录 | 记录每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
实用建议
- 先从 htop + glances 开始,熟悉系统行为。
- 资源紧张时优先Netdata(占用远低于Prometheus+Grafana)。
- 设置告警非常重要:CPU持续高、磁盘满、内存swap使用率上升、负载平均>核数×2 等。
- 定期查看 /proc/meminfo、iostat -x 1、vmstat 1 验证工具数据准确性。
- 云服务器额外关注 steal 时间(CPU被宿主机偷走),>5–10%说明超售严重。
通过这些工具组合,你可以从“事后救火”升级到“提前发现问题”,显著提升Ubuntu Server的稳定性和可维护性。
版权声明:
作者:后浪云
链接:https://idc.net/help/442441/
文章版权归作者所有,未经允许请勿转载。
THE END
