编程 用 btm 做日常监控:官方源停在 0.12.3,装完要先处理这几件事

2026-09-19 00:05:10

用 btm 做日常监控:官方源停在 0.12.3,装完要先处理这几件事

项目地址:https://github.com/ClementTsang/bottom

bottom(命令名 btm)是 Rust 写的终端图形化进程与系统监视器,灵感来自 gtop、gotop 和 htop,MIT 协议,作者 Clement Tsang。默认像一块仪表盘:CPU、内存、网络、磁盘、温度和进程等组件共享一个屏幕,每个组件都可以排序、缩放,或展开占满整个终端。

装完先 btm --version:官方源冻结在 0.12.3

官方 Ubuntu 源(universe)里有 btm,但冻结在 0.12.3,发行版发布后不再升级;上游最新是 0.14.9(2026-08-27)。恰恰是新版本带来了缓存与缓冲区单独统计、内存组件中的 GPU 占用、内置配色主题、隐藏内核线程,以及针对新内核和新传感器的修复。一个读错硬件数据的监视器比没有监视器更糟。

安装途径对比:

  • 官方 Ubuntu:btm 在 universe,冻结在 0.12.3,之后不升级
  • cargo install bottom:版本较新,但要编译好几分钟,装在 apt 之外,也不带手册页、补全和桌面入口
  • 上游压缩包:官方二进制,但每次新版本都要手动重新下载
  • deb.griffo.io:最新版本并自动更新;软件包以命令名 btm 命名,声明了对 bottomProvides/Replaces,可顶替官方源里那个包;含上游二进制 + btm.1 手册页 + bash/zsh/fish 补全 + 桌面入口及图标;五种架构 amd64、arm64、armhf、i386、riscv64;支持 Ubuntu 22.04、24.04、25.10、26.04
sudo apt update
sudo apt install btm
btm --version

注意:自 2026-10-01 12:00(英国时间)起,使用该 apt 镜像需要订阅,有一个永久免费镜像 deb-free.griffo.io(最多落后上游 2 个月,安全修复立即发布),但 bottom 不在免费镜像里。

跑起来

btm              # 启动仪表盘
btm --basic      # 去掉图表,只留紧凑数字读数,慢速 SSH 或很小的 tmux 窗格里依然清晰
btm --json       # 结构化流输出,用于无头采集

命令行参数(btm -h 简览,--help 完整):-c/--config-l/--layout-a/--avg-r/--rate-t/--default_time_value-b/--basic-m/--mem_as_value-d/--disable_click-f/--foreground_color-g/--group-s/--show_table_gap-u/--temperature_type-k/--disable_advanced_kill-x/--tree-R/--retention-w/--whole_word-S/--regex-W/--case_sensitive--disable_gpu

布局得自己写 bottom.toml

bottom 是 widget 化的,每个图表是独立 widget,可移动、调整大小、隐藏。配置写在 bottom.toml[[row]][[row.child]] 里,混搭 CPU 曲线、内存柱图、网络、温度、进程、电池。默认布局够用 80% 场景(默认布局定义在源码 src/constants.rs 的 DEFAULT_LAYOUT)。

一套 TOML 配置在 macOS / Linux / Windows 通用,默认位置不同但语法一致。要“立刻给我个花花仪表盘”,btop 更省事;bottom 的价值在自定义布局。

常见坑

  • 温度/电池要平台传感器支持:Linux 上 CPU 温度常要 root,macOS / Windows 不用 sudo。
  • 温度/电池读不到不是 bug,是权限或传感器没暴露。
  • TUI 不是 GUI:SSH、tmux/screen、串口控制台都能跑,无窗口、不强制鼠标。
  • 部分发行版要 curses 依赖,一般预装;没有就装 ncurses / libncurses。

应用内按 ? 打开帮助菜单。常用快捷键:q/Q/Ctrl+c 退出;Esc 关闭对话框/搜索框/退出展开;Ctrl+r 重置显示与已收集数据;f 冻结/解冻更新;e 展开/收起当前 widget;Ctrl+Up/Down/Left/Right(或 Shift+方向)切换到上/下/左/右的 widget;Up/kDown/j 在 widget 内移动;g gHome 跳首项,GEnd 跳末项;PageUp/PageDown 整页,Ctrl+u/Ctrl+d 半页。

与 htop / btop 的取舍

  • htop:经典文字模式进程查看器。
  • btop:彩色、单一布局的“开箱即用”监控。
  • bottom:基于 widget,三者里布局最灵活;跨平台支持最好,macOS / Linux / Windows 一套 TOML 配置、同样的键位;含温度、电池、网卡筛选。

一句话:要立刻能看用 btop,要按自己习惯排列监控项、且跨平台一套配置用 bottom。

迭代时间线

2019 年 Clement Tsang 启动(最初叫 ytop);2021 年 0.5 系列引入 widget 化布局;2022 年 0.6 系首个稳定跨平台体验;2024 年 0.9 系改跨平台配置;2025 年 0.10 系新增 widget 类型、曲线渲染更顺。

推荐文章

程序员茄子在线接单