Bottom (btm) - Rust 编写的跨平台系统监控神器¶
在日常开发和服务器管理中,实时监控系统资源使用情况是必不可少的任务。虽然 htop 和 top 是经典的系统监控工具,但今天我们要介绍一款更现代化的替代品 —— Bottom (btm)。
什么是 Bottom?¶
Bottom(命令行调用为 btm)是一款用 Rust 语言编写的跨平台图形化系统/进程监控器。它支持 Linux、macOS 和 Windows 系统,灵感来源于 gtop、gotop 和 htop,但提供了更丰富的功能和更美观的界面。
主要特性¶
- 🦀 Rust 编写 - 内存安全、高性能、低资源占用
- 🖥️ 跨平台支持 - Linux、macOS、Windows 全覆盖
- 📊 可视化图表 - CPU、内存、网络使用率实时图表
- 🎨 高度可定制 - 支持自定义布局、颜色和过滤器
- ⌨️ 直观快捷键 - 类似 vim 的键盘操作,学习成本低
- 🔍 强大搜索 - 快速过滤和定位进程
- 📈 历史数据 - 查看资源使用的历史趋势
安装方法¶
Linux 系统¶
使用包管理器安装:
# Ubuntu/Debian
sudo apt install bottom
# Fedora/RHEL
sudo dnf install bottom
# Arch Linux
sudo pacman -S bottom
# openSUSE
sudo zypper install bottom
使用 Cargo 安装(推荐最新版本):
cargo install bottom
使用预编译二进制:
# 下载最新版本
wget https://github.com/ClementTsang/bottom/releases/latest/download/bottom_x86_64-unknown-linux-gnu.tar.gz
tar -xzf bottom_x86_64-unknown-linux-gnu.tar.gz
sudo mv btm /usr/local/bin/
macOS 系统¶
# 使用 Homebrew
brew install bottom
# 或使用 MacPorts
sudo port install bottom
Windows 系统¶
# 使用 Chocolatey
choco install bottom
# 或使用 Scoop
scoop install bottom
# 或使用 winget
winget install ClementTsang.bottom
快速上手¶
基本使用¶
安装完成后,在终端中直接运行:
btm
即可看到完整的系统监控界面。
常用快捷键¶
Bottom 采用类似 vim 的键盘操作模式:
| 快捷键 | 功能说明 |
|---|---|
? 或 h |
打开帮助菜单 |
q |
退出程序 |
g |
跳转到顶部 |
G |
跳转到底部 |
/ |
搜索进程 |
dd |
终止选中进程 |
Tab |
在不同窗口间切换 |
鼠标点击 |
直接选择窗口 |
命令行参数¶
# 指定刷新间隔(毫秒)
btm --rate 2000
# 默认显示 CPU 窗口
btm --default_widget_type cpu
# 隐藏电池信息
btm --hide_avg_cpu
# 使用自定义配置文件
btm --config /path/to/config.toml
# 查看完整帮助
btm --help
配置自定义¶
Bottom 支持通过配置文件进行深度定制。配置文件位置:
# Linux/macOS
~/.config/bottom/bottom.toml
# Windows
%APPDATA%\bottom\bottom.toml
示例配置¶
# 刷新间隔(毫秒)
rate = 2000
# 默认小部件布局
[[row]]
[[row.widget]]
type = "cpu"
[[row.widget]]
type = "memory"
[[row]]
[[row.widget]]
type = "network"
[[row.widget]]
type = "process"
# 颜色主题
[colors]
table_header_color = "#00d7ff"
cpu_core_colors = ["#ff5555", "#50fa7b", "#f1fa8c"]
# 进程过滤器
[flags]
hide_kernel_threads = true
show_cpu_cores = true
与 htop 的对比¶
| 特性 | Bottom (btm) | htop |
|---|---|---|
| 编程语言 | Rust | C |
| 跨平台 | ✅ Linux/macOS/Windows | ⚠️ 主要 Linux/Unix |
| 可视化图表 | ✅ 内置 | ❌ 需额外配置 |
| 历史数据 | ✅ 支持 | ❌ 仅实时 |
| 配置灵活性 | ✅ TOML 配置 | ⚠️ 有限 |
| 资源占用 | 低 | 低 |
| 社区活跃度 | 🔥 快速增长 | 稳定 |
实际应用场景¶
1. 服务器性能监控¶
在远程服务器上运行 btm,可以直观地查看: - CPU 各核心的负载分布 - 内存使用情况和交换空间 - 网络接口的实时流量 - 磁盘 I/O 读写速度
2. 开发环境调试¶
运行资源密集型应用时,使用 btm 快速定位: - 哪个进程占用最多 CPU - 内存泄漏的可疑进程 - 网络连接的异常情况
3. 系统优化分析¶
通过历史数据图表,分析: - 系统资源使用的峰值时段 - 长期运行的资源趋势 - 优化措施的效果验证
高级技巧¶
自定义小部件布局¶
Bottom 允许你完全自定义界面布局,创建最适合你工作流的监控面板:
# 专注于 CPU 和进程的布局
[[row]]
[[row.widget]]
type = "cpu"
ratio = 2
[[row.widget]]
type = "process"
ratio = 3
进程过滤和搜索¶
使用 / 键打开搜索框,支持正则表达式:
# 搜索特定进程
python
# 使用正则表达式
^node.*
# 过滤特定用户
user:kevin
监控特定 CPU 核心¶
# 只显示指定 CPU 核心
btm --cpu_core 0 --cpu_core 1
总结¶
Bottom (btm) 作为一款现代化的系统监控工具,凭借其 Rust 带来的性能优势、跨平台支持、丰富的可视化功能和高度可定制性,正在成为 htop 的有力替代品。
无论你是系统管理员、DevOps 工程师还是普通开发者,btm 都能为你提供直观、高效的系统资源监控体验。更重要的是,它完全开源免费,社区活跃,持续更新。
立即尝试: 访问 GitHub 仓库 开始你的现代化系统监控之旅!
参考链接: