“先 top 一下” 曾是许多运维工程师的口头禅。然而,经过数十年的发展,终端早已不止于黑白的字符与静态的列表。如今的系统监控工具,不仅能提供丰富的色彩、支持鼠标交互,还能实现历史回放、实时图表绘制,甚至开启Web服务。
本文将首先提供一份全景榜单,汇总当下主流的开源 top 替代工具,并按从易用到专业的顺序进行排列。接着,我们将聚焦榜单前四名的工具,逐一进行深度解析,帮助你在五分钟内决定哪一款最适合你。
一、Linux 系统监控工具全景榜
(以下排名综合了 GitHub 活跃度、仓库内置率及社区口碑)
- htop - 彩色交互的瑞士军刀
- atop - 支持历史回放的问题诊断器
- bpytop - 拥有动态图表的终端颜值担当
- nmon - 专注性能基准采集与报告
- Glances - 跨平台Web监控工具
- dstat - 彩色资源汇总神器
- iotop - 进程级磁盘 I/O 监控
- pidstat (sysstat套件) - 详细的进程与线程统计
- gtop - 基于Node.js的轻量级监控
- zenith - Rust编写,支持GPU监控
下文将对前四名工具进行详细体验,榜单其余工具将在文末以一句话总结。
二、TOP-1 htop —— 人手一份的彩色瑞士军刀
核心评价:继承了 top 的开箱即用特性,但在可视化、交互效率和功能性上全面超越。它色彩丰富,支持鼠标操作,响应速度快。

核心亮点
- 横向滚动:完整展示长命令行,不再被截断。
- 鼠标交互:右键点击进程即可弹出信号菜单,轻松终止异常进程。
- 实时筛选:输入
/ 后跟上关键词(如 nginx)可即时过滤进程,无需结合 grep 命令。
- 彩色资源条:CPU、内存、Swap的使用情况一目了然,支持自定义配色主题。
- 树形/列表视图:按
t 键可在树形视图(展示进程父子关系)和列表视图间切换。
- 配置持久化:按
F10 退出时会自动保存当前的列宽、排序方式等设置。
安装与快速上手
sudo apt install htop # Ubuntu/Debian
htop # 立即启动
# 常用快捷键备忘
# F5:切换树形视图 | F6:选择排序列 | F9:发送信号/终止进程 | /:过滤进程
踩坑提示
- 在容器内运行时可能缺少
ncursesw 库,执行 apt install libncursesw5 即可。
- 在远程连接的
tmux 或 screen 会话中,鼠标可能失效,此时可以尝试按住 Shift 键再点击。
三、TOP-2 atop —— 让“历史问题”有迹可循
核心评价:top 只能查看当前瞬间,而 atop 如同一台系统录像机,能够记录并回放历史状态,并自动高亮资源瓶颈。

核心亮点
- 历史日志回放:默认每10秒将系统状态以二进制格式记录到
/var/log/atop/ 目录。通过 atop -r 命令可以像操作录像机一样,用 t/T 键向前/向后翻看历史记录。
- 瓶颈高亮报警:自动对 CPU 使用率超过90%、磁盘延迟高于50ms 等异常指标进行反白显示,便于运维人员快速定位问题根源。
- 四大资源子面板:
- PRC:进程级CPU、用户/内核态时间。
- MEM:匿名页、缓存、换页速率等内存详情。
- DSK:每块物理设备的队列深度、吞吐量。
- NET:TCP/UDP 包速率、重传统计。
- 与Systemd集成:通过
systemctl enable atop 即可开启日志记录,日志轮转由系统自带的 logrotate 管理。
- 资源开销极低:C语言编写,二进制文件小巧,采样时CPU占用通常低于0.3%。
安装与历史问题诊断
sudo apt install atop
sudo systemctl enable atop --now
# 假设发现昨晚02:03系统负载异常飙高,可回放该时间段日志
sudo atop -r /var/log/atop/atop_2025-12-03 -b 02:00 -e 02:10
# 进入回放模式后,按 `t` 键向后翻阅,高亮显示的行通常就是问题进程。
踩坑提示
- 日志默认存放在
/var 分区,需注意磁盘空间,可在 /etc/default/atop 文件中修改 LOGPATH 参数。
- 旧版本不支持高效的
zstd 压缩,建议升级到 2.8.0 及以上版本以节省大量日志空间。
四、TOP-3 bpytop —— 终端里的“4K游戏仪表盘”
核心评价:将系统资源数据转化为精美的动态曲线和图表,支持丰富的主题和鼠标拖拽布局,是追求终端颜值的开发者的首选。

核心亮点
- 动态实时曲线:为 CPU、内存、网络等指标绘制实时曲线图,分辨率随终端窗口自动缩放,并支持 braille 点阵字符实现抗锯齿效果。
- 丰富主题市场:内置16套配色主题,可一键切换,还支持导入
pywal 生成的色彩方案,与桌面壁纸颜色自动同步。
- 鼠标拖拽布局:可以直接用鼠标拖动面板间的分割条,自由调整各个监控区域的大小。
- 硬件传感器集成:直接读取
lm-sensors 获取的温度、风扇转速等信息,并叠加显示在图表上,非常适合游戏本或需要监控硬件状态的场景。
- 跨平台支持:在 macOS、FreeBSD 和 Windows Subsystem for Linux (WSL) 上均可安装运行,配置文件统一存放在
~/.config/bpytop。
安装与个性化设置
sudo apt install bpytop
bpytop # 首次启动会自动检测并应用最佳主题
# 按 `m` 键进入主菜单 -> Themes -> 选择 “monokai” 等主题,按 `Esc` 立即生效
# 如需截图分享,按 `P` 键可直接将当前界面保存为 PNG 图片到 `~/Pictures` 目录
踩坑提示
- 需要终端支持真彩色(True Color),在 Windows 老版
cmd 中可能显示异常,建议使用 Windows Terminal。
- 通过低带宽 SSH 连接时,可以关闭图表绘制以提升响应速度:菜单 -> View -> Draw graphs off。
五、TOP-4 nmon —— 性能基准采集的“老大哥”
核心评价:源自 AIX 系统的经典工具,以极低的开销采集系统性能数据,并生成易于分析的 CSV 或 HTML 报告,是生成正式性能报告的利器。

核心亮点
- 单键开关指标:在交互界面中,按
c 开关 CPU 统计,m 开关内存,d 开关磁盘,n 开关网络,无需配置即可专注查看关心的指标。
- 后台快照模式:使用
nmon -F report.nmon -s 5 -c 288 命令,可每5秒采集一次,持续采集24小时(288次),生成带时间戳的数据文件。
- 官方报告分析器:将生成的
.nmon 文件上传至官方分析器(nmon.sourceforge.net),可一键生成包含丰富图表的 HTML 报告,非常适合向管理层或客户展示。
- 资源占用极低:经过汇编级优化,采样时 CPU 占用率常低于0.2%,甚至在资源受限的嵌入式设备上也能流畅运行。
- 功耗统计:在支持的硬件(如笔记本、树莓派)上,可以采集功耗数据,为节能调优提供依据。
安装与长期性能采集
sudo apt install nmon
# 启动一个为期24小时,每30秒采集一次的性能采集任务
nmon -F /tmp/$(hostname)_$(date +%F).nmon -s 30 -c 2880
# 第二天,可以对数据进行压缩
gzip /tmp/*.nmon # 通常能压缩90%的体积
# 将文件下载到本地,用官方提供的 `nmon_analyser_v66.xlsm` Excel 宏文件打开即可生成报告。
踩坑提示
- 官方报告分析器依赖 Windows 系统及 Excel,在 Linux 环境下可使用开源的
nmonchart 等替代工具生成 HTML。
- 如果内核缺少
perf_event 支持,CPU 频率等指标可能无法显示,安装 linux-tools-common 包通常可以解决。
六、按场景快速选型指南
- 日常登录,快速查看系统状态:
htop
- 诊断历史性能问题,追溯故障根源:
atop
- 本地开发机,追求视觉体验与截图分享:
bpytop
- 生成正式的性能测试报告:
nmon
- 监控 Docker 容器集群或需要 Web 界面:
Glances (使用 glances -w 开启Web服务)
- 深度排查磁盘 I/O 瓶颈:结合使用
iotop 和 pidstat
- 临时查看多种资源汇总:
dstat -cdngy 1
七、快速安装与体验
你可以通过以下命令一次性安装并体验前四名的工具:
sudo apt update && sudo apt install -y htop atop bpytop nmon
htop # 首先直观感受交互式监控
sudo atop -r # 尝试回放已有的系统日志(如果有)
bpytop # 欣赏动态图表界面
nmon -s 1 -c 60 # 采集一分钟的性能快照
附录:榜单第5-10名工具速览
- 5. Glances:跨系统的监控工具,支持以 Web、REST API 或输出到 InfluxDB 等方式进行监控。
- 6. dstat:功能全面的资源统计工具,
dstat -cdngy 1 命令可一站式查看 CPU、磁盘、网络等汇总信息。
- 7. iotop:专门监控每个进程的磁盘 I/O 读写情况,是定位大量磁盘写入进程的利器。
- 8. pidstat:属于
sysstat 工具集,pidstat -u -r -d -t 1 命令可以提供按线程拆分的详细统计。
- 9. gtop:使用 Node.js 编写的轻量级监控面板,通过
npm i -g gtop 安装。
- 10. zenith:使用 Rust 编写的现代监控工具,支持监控 GPU 温度等,通过
cargo install zenith 安装。
|