跳转至

Bottom (btm) - Rust 编写的跨平台系统监控神器

在日常开发和服务器管理中,实时监控系统资源使用情况是必不可少的任务。虽然 htoptop 是经典的系统监控工具,但今天我们要介绍一款更现代化的替代品 —— 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 仓库 开始你的现代化系统监控之旅!


参考链接: