bottom

> bottom — 一个跨平台的终端进程监控工具,帮你直观看清系统资源占用和进程状态。 如果你跟我一样,经常在终端里折腾,免不了要跟 `top`、`htop` 打交道。但说实话,这些老牌工具虽然经典,用久了总觉得有点“糙”——界面挤在一起,颜色单调,想看个磁盘IO还得切视图。直到我遇到了 **bottom**,一个用 Rust 写的系统监控工具,颜值在线,信息密度还超高,直接让我把 `htop` 扔进了冷宫。 ### 它到底能干啥? bottom 解决的核心问题很简单:**在终端里,用最直观的方式看清你的电脑在干嘛**。它不止是进程列表,而是把 CPU、内存、磁盘、网络、温度、进程、甚至 GPU 信息(如果支持)全塞进一个 TUI(终端用户界面)里,而且布局可以随意拖拽调整。你可以把它理解成一个“终端版的 Activity Monitor”或“资源监视器”,但比它们更轻、更快、更可定制。 用过 `top` 的人都知道,想看磁盘读写速度?得按 `d` 切视图。想看网络流量?再按 `n`。而 bottom 默认就把这些面板平铺在你眼前,一目了然。对于开发者来说,排查性能问题、定位内存泄漏、观察磁盘瓶颈,它都能快速给出反馈。 ### 下载方式 官方提供了多种安装途径,最靠谱的是去 GitHub Releases 页面下载二进制包,或者用包管理器。 [官网下载页](https://github.com/ClementTsang/bottom/releases) [项目主页](https://github.com/ClementTsang/bottom) ### 安装方法 根据你的操作系统,挑一个顺手的方式就行: **macOS** 用 Homebrew 最省事: ```bash brew install bottom ``` **Linux** 如果是 Debian/Ubuntu 系,可以用 apt 添加官方仓库(推荐),或者直接下载 deb 包: ```bash # 添加仓库(如果系统支持) curl -s https://packagecloud.io/install/repositories/clementtsang/bottom/script.deb.sh | sudo bash sudo apt install bottom ``` Arch Linux 用户直接: ```bash sudo pacman -S bottom ``` **Windows** 用 Scoop 或 Chocolatey 都行: ```bash scoop install bottom # 或 choco install bottom ``` 也可以直接去 [Releases 页面](https://github.com/ClementTsang/bottom/releases) 下载 `.exe` 或 `.msi` 安装包。 **编译安装(如果你爱折腾)** 确保有 Rust 环境,然后: ```bash cargo install bottom ``` ### 基础使用教程 装好之后,终端输入 `btm` 回车,你就能看到默认界面——一个分屏仪表盘。按 `?` 键可以调出帮助菜单,但核心操作其实就几个: - **鼠标拖拽**:直接用鼠标拖动面板边框,调整每个区域的大小。比如你觉得磁盘图表太小,拖一下就行。 - **快捷键**: - `q` 退出 - `1` 到 `4` 切换不同布局预设(比如只显示进程、只显示图表) - `e` 展开/收起进程树 - `f` 搜索进程(输入名字快速定位) - `t` 按 CPU 使用率排序,`m` 按内存排序 - **导航**:用方向键或 `Tab` 在面板间切换,选中进程后按 `Enter` 可以查看该进程的详细信息(打开的文件、环境变量等)。 默认视图从左到右是:CPU/内存/网络折线图 → 磁盘读写柱状图 → 进程列表 → 温度/风扇转速。如果你觉得信息太多,按 `2` 切到“精简模式”,只保留进程列表和基础图表。 **一个实用场景**:你发现电脑风扇狂转,想找出是谁在吃 CPU。打开 `btm`,按 `t` 按 CPU 排序,瞬间看到是某个 Node 进程占满了一个核。选中它按 `Enter`,能看到它打开的文件和网络连接,甚至可以直接 `kill` 它(按 `k` 然后输入信号,比如 9 强制结束)。 ### 进阶技巧 用顺手之后,你会发现 bottom 的配置能力才是它的精髓。配置文件默认在 `~/.config/bottom/bottom.toml`(Linux/macOS)或 `%APPDATA%\bottom\bottom.toml`(Windows)。如果文件不存在,手动创建就行。 **1. 自定义颜色主题** 我不喜欢默认的蓝色调,改成“gruvbox”风格: ```toml [colors] table_header_color = "#fabd2f" selected_text_color = "#fb4934" cpu_color = "#83a598" memory_color = "#8ec07c" ``` 你可以在官方文档里找到所有可配置的颜色键。 **2. 隐藏不需要的面板** 如果你只关心 CPU 和进程,别的面板都关掉: ```toml [widgets] disk_usage = false temperature = false network = false ``` 这样启动后界面干净得像定制版。 **3. 设置刷新间隔** 默认 1 秒刷新一次,太频繁时可以用: ```toml [flags] rate = 2000 # 改为 2 秒 ``` **4. 命令行启动参数** 不想改配置文件?直接启动时传参: ```bash btm --rate 2000 --color gruvbox --default_widget_type proc ``` 这样启动后默认只显示进程列表,适合专注看某个进程。 **5. 远程监控(进阶玩法)** 如果你需要监控远程服务器,可以用 SSH + btm 的组合。在服务器上安装 bottom,然后本地终端: ```bash ssh user@server -t 'btm --rate 500' ``` `-t` 参数强制分配伪终端,这样远程的 TUI 就能完美显示在本地。不过要注意网络延迟,刷新间隔设大一点(比如 2000ms)避免卡顿。 **6. 自定义快捷键** 在配置文件中可以重映射按键。比如我想把退出键改成 `Ctrl+Q`,防止误触: ```toml [keybindings] quit = "Ctrl+q" ``` ### 最后说两句 bottom 是我最近一年用得最爽的终端工具之一,它把“监控”这件事做到了极致——快、好看、可塑性强。如果你还在用 `top` 或 `htop`,强烈建议花 5 分钟试试 `btm`,大概率会回不去。毕竟,写代码已经够累了,看个资源占用还不得养眼点? 对了,如果你有 NVIDIA 显卡,记得启动时加 `--enable-gpu` 参数,能看到 GPU 占用率和显存使用,对炼丹(深度学习)的同学特别有用。