top 是运维老朋友,但面对复杂场景是否够用?htop 彩色交互更直观,atop 能看历史,glances 还能 Web 展示。本文对比 4 款主流监控工具,帮你选对场景用对工具。一、四款工具速览
二、top — 经典但够用
核心优势
✅ 无需安装,任何 Linux 都有
✅ 资源占用极低
✅ 脚本友好(top -bn1 可非交互输出)
常用操作
非交互模式(脚本用)
# 输出一次,用于脚本采集top -bn1 | head -20# 持续输出 3 次,间隔 2 秒top -bd 2 -n 3 > /tmp/top.log
缺点
❌ 黑白界面,信息密度高,新手不友好
❌ 不支持鼠标
❌ 无法查看历史
❌ 磁盘/网络 IO 信息缺失
三、htop — 颜值即正义
# 安装sudo yum install htop # CentOS/RHELsudo apt install htop # Ubuntu/Debian# 运行htop
界面亮点
CPU[||||||||||||||||||||||||100.0%] Mem[|||||||||||||||||67.2G/125G] CPU[|||||||||||||||||||||||||95.2%] Swp[| 2.1G/4G] Tasks: 245, 3 running; Load average: 2.50 2.30 2.10 Uptime: 45 days, 02:30:00 PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 1234 root 20 0 234G 45678 6789 R 45.6 0.3 123:45 java -jar app.jar 5678 mysql 20 0 890G 23456 12345 S 12.3 1.5 456:12 mysqld
核心优势
✅ 彩色界面,CPU/内存用进度条直观展示
✅ 支持鼠标,点击排序、选中进程
✅ 树形视图(F5),看进程父子关系
✅ 搜索过滤(F3/F4),快速定位进程
常用按键
自定义配置
# 配置文件位置~/.config/htop/htoprc# 常用设置(F2 进入)# - Colors:选配色方案# - Columns:添加/删除显示列(如添加 IO_READ_RATE、IO_WRITE_RATE)# - Display options:显示线程、显示树形
缺点
❌ 仍需手动安装
❌ 无法查看历史数据
❌ 磁盘/网络 IO 信息有限
四、atop — 历史回溯神器
# 安装sudo yum install atop # CentOS/RHELsudo apt install atop # Ubuntu/Debian# 运行atop # 实时模式atop -r /var/log/atop/atop_20260713 # 回放历史
核心优势:记录一切
atop 是唯一一个默认后台记录所有资源使用历史的工具:
# 启动 atop 守护进程(自动记录)sudo systemctl enable atopsudo systemctl start atop# 默认每 10 分钟记录一次快照# 日志位置:/var/log/atop/ls /var/log/atop/atop_20260701 atop_20260702 atop_20260713
独特功能:资源 accountable
# 查看进程的历史资源使用(CPU、内存、磁盘、网络)atop -r /var/log/atop/atop_20260713# 回放时按键t # 前进 10 分钟T # 后退 10 分钟b # 跳到指定时间g # 按用户过滤p # 按进程名过滤
显示列说明
ATOP - localhost 2026/07/13 10:00:00 10 seconds elapsedPRC | sys 2.50s | user 5.20s | #proc 245 | #zombie 0 | #exit 0 |CPU | sys 15% | user 25% | irq 2% | idle 58% | wait 0% |CPL | avg1 2.50 | avg5 2.30 | avg15 2.10 | | numcpu 8 |MEM | tot 125.8G | free 5.2G | cache 45.6G | dirty 0.1G | buff 2.3G |SWP | tot 4.0G | free 1.9G | | | |DSK | sda 50% | busy 120ms | read 10 | write 50 | MB/s 25.6 |NET | eth0 pcki 1000 | pcko 2000 | si 5.2Mbps | so 12.8Mbps | err 0 |
| |
|---|
PRC | |
CPU | |
CPL | |
MEM | |
SWP | |
DSK | 磁盘 IO |
NET | 网络 IO |
进程级 IO 查看
# 实时模式下按 d 键,按磁盘 IO 排序# 可以看到每个进程的读写速率# 网络 IO 按 n 键排序
缺点
❌ 界面不如 htop 美观
❌ 学习曲线稍陡
❌ 默认 10 分钟间隔,可能错过瞬时峰值
调整记录频率:
# /etc/sysconfig/atopINTERVAL=60 # 改为 1 分钟# 日志保留天数LOGGENERATIONS=28
五、glances — 信息最全的瑞士军刀终端界面
localhost (Rocky Linux 9.4 64bit / Linux 5.14.0-427) - IP 192.168.1.100CPU [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 15.2%]MEM [||||||||||||||||||||||||||||||||||||||| 67.2%]SWAP [|| 2.1%]LOAD 2.50 2.30 2.10TASKS 245 (3 run, 242 slp, 0 oth)NETWORK Rx/s Tx/s cumRx cumTxeth0 5.2M 12.8M 1.2T 3.5Tlo 0.5M 0.5M 120G 120GDISK I/O R/s W/s RB/s WB/ssda 10 50 2.5M 25.6Msdb 0 0 0 0FILE SYS Used Total Use%/ 45.2G 100G 45%/data 230G 500G 46%PROCESS CPU% MEM% VIRT RES PID USER TIME+ Commandjava 45.6 0.3 234G 45678 1234 root 123:45 java -jar app.jarmysqld 12.3 1.5 890G 23456 5678 mysql 456:12 mysqld
核心优势
✅ 信息最全:CPU、内存、磁盘、网络、文件系统、传感器、Docker...
✅ Web 模式:浏览器访问,远程监控
✅ API 接口:glances -w --password 提供 REST API
✅ 插件丰富:InfluxDB、Prometheus、RabbitMQ 等导出
Web 模式启动
# 启动 Web 服务glances -w -p 61208 --password# 浏览器访问http://server-ip:61208# 设置密码glances --password
常用选项
| |
|---|
-w | |
-p PORT | |
--password | |
-q | |
-f /path | |
--export influxdb | |
缺点
❌ 依赖 Python,安装包较大
❌ 终端模式下信息密度过高,小屏幕显示不全
❌ 资源占用略高于其他工具
六、四款工具对比总结
| | | | |
|---|
| 安装 | | | | |
| 界面 | | | | |
| 鼠标支持 | | | | |
| 历史记录 | | | | |
| 磁盘 IO | | | | |
| 网络 IO | | | | |
| 进程树 | | | | |
| Web 展示 | | | | |
| API 接口 | | | | |
| 资源占用 | | | | |
| 适用场景 | | | | |
七、选型建议
| | |
|---|
| top | |
| htop | |
| atop | |
| glances | |
| top | top -bn1 |
| glances | |
八、组合使用:我的日常 workflow
# 1. 登录服务器,先用 htop 快速看整体htop# 2. 发现 CPU 或 IO 异常,用 atop 查历史sudo atop -r /var/log/atop/atop_$(date +%Y%m%d)# 3. 需要看网络或磁盘详情,切 glancesglances# 4. 写脚本采集数据,用 toptop -bn1 -d1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1
九、atop 历史分析实战
# 查看昨天 14:00 左右的系统状态atop -r /var/log/atop/atop_20260712 -b 14:00# 在交互模式下t # 前进T # 后退P # 按 CPU 排序M # 按内存排序D # 按磁盘 IO 排序N # 按网络 IO 排序g # 按用户过滤p # 按进程名过滤
生产案例:昨晚服务卡顿,现在排查:
# 1. 找到昨天的 atop 日志ls /var/log/atop/# 2. 回放,跳到问题时间段sudo atop -r /var/log/atop/atop_20260712# 按 b,输入 02:30(凌晨2点半)# 3. 看当时 CPU、内存、磁盘、网络情况# 4. 按 P 排序,找到占用最高的进程# 5. 对比正常时段,确认根因
十、总结 checklist
□ top:应急查看,脚本采集,无需安装□ htop:日常首选,彩色交互,操作友好□ atop:故障回溯,历史数据,磁盘网络 IO 全记录□ glances:全面监控,Web 展示,API 集成□ atop 建议常驻后台:systemctl enable atop□ 小内存服务器慎用 glances□ 性能问题优先看 atop 历史,而不是实时 top
一句话总结
top 是急救包,htop 是日常工具,atop 是黑匣子,glances 是仪表盘——四者互补,组合使用才是运维监控的完整方案。