Bottom Là Gì?
Bottom (lệnh chạy: btm) là một công cụ giám sát tiến trình và hệ thống dạng graphical trực tiếp trong terminal. Viết bằng Rust, bottom hỗ trợ cross-platform trên Linux, macOS và Windows, lấy cảm hứng từ gtop, gotop và htop — nhưng mang đến trải nghiệm hiện đại hơn với giao diện TUI trực quan, widget tùy biến và hiệu suất tốt.
Nếu bạn từng dùng htop và muốn một công cụ tương tự nhưng đẹp hơn, tùy biến nhiều hơn, và chạy được trên cả macOS lẫn Windows — bottom chính là câu trả lời.
Các Tính Năng Chính Của Bottom
1. Widget Đồ Họa Real-Time
Bottom hiển thị dữ liệu hệ thống dưới dạng biểu đồ trực tiếp trong terminal, bao gồm:
- CPU usage — theo dõi mức sử dụng CPU theo thời gian, cả average lẫn per-core.
- RAM và Swap — biểu đồ mức sử dụng bộ nhớ theo thời gian.
- Network I/O — lượng dữ liệu gửi/nhận qua mạng theo thời gian.
Tất cả widget đồ họa đều hỗ trợ zoom in/out để điều chỉnh khoảng thời gian hiển thị — tiện khi bạn muốn xem chi tiết một khoảng thời gian cụ thể.
2. Widget Thông Tin Hệ Thống
- Disk capacity/usage — dung lượng ổ đĩa và mức sử dụng.
- Temperature sensors — nhiệt độ CPU/GPU (hữu ích khi monitoring server hoặc laptop).
- Battery usage — trạng thái pin trên laptop.
3. Quản Lý Tiến Trình Nâng Cao
Widget process của bottom cung cấp khả năng hiển thị, sắp xếp, và tìm kiếm tiến trình — tương tự htop nhưng trực quan hơn:
- Sắp xếp theo PID, CPU%, MEM%, tên tiến trình, v.v.
- Tìm kiếm tiến trình nhanh chóng bằng keyword.
- Kill signal — gửi tín hiệu kết thúc tiến trình ngay trong TUI.
- Tree mode — hiển thị tiến trình dạng cây (process tree), giúp hiểu quan hệ parent-child giữa các process.
4. Tùy Biến Đầy Đủ
Bottom cho phép bạn tùy chỉnh gần như mọi thứ thông qua command-line flags hoặc config file TOML:
- Color themes — built-in themes (Gruvbox, Nord, Solarized…) hoặc custom theme riêng.
- Widget layout — thay đổi cách sắp xếp widget theo ý muốn.
- Widget behaviour — cấu hình cách mỗi widget hoạt động.
- Filtering — lọc bớt entry trong một số widget.
5. Basic Mode Kiểu Htop
Nếu bạn thích giao diện đơn giản kiểu htop (chỉ CPU bar + process list), bottom có basic mode — chạy với flag --basic. Giao diện gọn, tập trung vào process, phù hợp khi SSH vào server.
btm --basic
6. Expansion — Phóng To Một Widget
Khi bạn muốn xem chi tiết một widget (ví dụ biểu đồ CPU), nhấn phím e — widget đó chiếm toàn bộ màn hình terminal. Nhấn e lần nữa hoặc Esc để quay lại dashboard. Rất tiện khi cần phân tích sâu một metric cụ thể.
Cài Đặt Bottom Trên Linux, macOS, Windows
Arch Linux
sudo pacman -S bottom
Ubuntu / Debian
# x86-64
curl -LO https://github.com/ClementTsang/bottom/releases/download/0.9.6/bottom_0.9.6_amd64.deb
sudo dpkg -i bottom_0.9.6_amd64.deb
# ARM64
curl -LO https://github.com/ClementTsang/bottom/releases/download/0.9.6/bottom_0.9.6_arm64.deb
sudo dpkg -i bottom_0.9.6_arm64.deb
Fedora / CentOS / RHEL
sudo dnf copr enable atim/bottom -y
sudo dnf install bottom
Gentoo
sudo emerge --ask sys-process/bottom
Void Linux
sudo xbps-install bottom
macOS (Homebrew)
brew install bottom
Windows
# winget
winget install bottom
# Chocolatey
choco install bottom
# Scoop
scoop install bottom
Cargo (Build Từ Source)
rustup update stable
cargo install bottom --locked
Snap
sudo snap install bottom
sudo snap connect bottom:mount-observe
sudo snap connect bottom:hardware-observe
sudo snap connect bottom:system-observe
sudo snap connect bottom:process-control
Nix
nix-env -i bottom
Sử Dụng Bottom: Các Lệnh Cơ Bản
Khởi Chạy
# Chạy mặc định (dashboard đầy đủ)
btm
# Chạy basic mode kiểu htop
btm --basic
# Chạy với theme Gruvbox
btm --color gruvbox
# Xem help
btm -h
btm --help
Keyboard Shortcuts Quan Trọng
Bottom hỗ trợ cả keyboard lẫn mouse. Dưới đây là các phím tắt cần biết:
| Phím | Hành động |
|---|---|
q / Ctrl+C | Thoát |
Esc | Đóng dialog/search, thoát expanded mode |
Ctrl+R | Reset display và dữ liệu |
f | Freeze/unfreeze cập nhật dữ liệu |
? | Mở help menu |
e | Toggle expand widget đang chọn |
Ctrl+Arrow / Shift+Arrow | Di chuyển giữa các widget |
Up/Down / j/k | Di chuyển trong widget |
gg / Home | Nhảy về đầu bảng |
G / End | Nhảy về cuối bảng |
Nhấn ? trong bottom để xem đầy đủ key bindings ngay trong app.
Cấu Hình Bottom Qua Config File
Bottom tự động tạo config file ở lần chạy đầu tiên. Vị trí mặc định:
- Linux:
~/.config/bottom/bottom.toml - macOS:
~/Library/Application Support/bottom/bottom.toml - Windows:
C:\Users\USER\AppData\Roaming\bottom\bottom.toml
Config file dùng định dạng TOML, cho phép bạn tùy chỉnh:
- Cập nhật interval (tốc độ refresh dữ liệu)
- Layout widget (vị trí, kích thước)
- Color theme và custom color
- Filter cho process, disk, temperature
- Cấu hình từng widget riêng biệt
Config file cũng hỗ trợ JSON Schema — nếu IDE của bạn hỗ trợ, bạn sẽ có autocomplete khi chỉnh sửa file TOML.
Built-in Color Themes
Bottom đi kèm nhiều theme sẵn có, chỉ cần chạy với flag --color:
# Gruvbox theme
btm --color gruvbox
# Nord theme
btm --color nord
# Solarized theme
btm --color solarized
# Default light theme
btm --color default-light
Hoặc bạn có thể tạo custom theme trong config file — định nghĩa màu cho từng widget, từng element theo ý muốn.
Bottom vs Htop: So Sánh Nhanh
Cả hai đều là process/system monitor chạy trong terminal, nhưng có khác biệt rõ rệt:
| Tiêu chí | htop | bottom (btm) |
|---|---|---|
| Ngôn ngữ | C | Rust |
| Cross-platform | Chủ yếu Linux/macOS | Linux, macOS, Windows |
| Giao diện | Text-based, ASCII bars | Graphical TUI, biểu đồ theo thời gian |
| Biểu đồ CPU/RAM/Network | Không (chỉ bar hiện tại) | Có — biểu đồ theo thời gian, zoom được |
| Color theme | Cơ bản | Built-in themes + custom theme |
| Config file | Hạn chế | TOML đầy đủ, JSON Schema |
| Basic mode | Mặc định | Flag –basic |
| Expansion widget | Không | Có — phím e |
| Tree mode | F5 | Hỗ trợ |
| Mouse support | Cơ bản | Đầy đủ — click, scroll |
| Temperature sensor | Cần plugin | Built-in widget |
| Battery widget | Không | Có |
Tóm lại: htop là standard — nhanh, nhẹ, có mặt trên mọi server. bottom là evolution — đẹp hơn, nhiều tính năng hơn, cross-platform tốt hơn. Trên workstation hoặc laptop, bottom mang lại trải nghiệm monitoring thoải mái hơn nhiều. Trên production server minimal, htop vẫn là lựa chọn ổn vì dependency ít.
Shell Auto-Completion
Binary release của bottom đi kèm auto-completion cho nhiều shell:
- Bash: chuyển
btm.bashđến/etc/bash_completion.d/ - Fish: chuyển
btm.fishđến~/.config/fish/completions/ - Zsh: chuyển
_btmvào một thư mục trong$fpath - PowerShell: thêm
_btm.ps1vào profile
Unofficial Platform Support
Ngoài 3 platform chính thức (Linux, macOS, Windows), bottom cũng có thể chạy trên:
- FreeBSD (x86_64)
- Linux ARM (armv6, armv7, powerpc64le, riscv64gc)
- Android (arm64)
Các platform này không được test chính thức trên CI, nên có thể gặp bug hoặc thiếu tính năng. Tuy nhiên, community đang tích cực đóng góp và một số platform (như FreeBSD) có thể được hỗ trợ chính thức trong tương lai.
Khi Nào Nên Dùng Bottom?
- Workstation monitoring — bạn muốn theo dõi CPU/RAM/Network trên laptop hoặc desktop một cách trực quan.
- Cross-platform workflow — bạn dùng cả Linux, macOS, Windows và muốn cùng một tool monitoring.
- SSH vào server — basic mode cho giao diện gọn, process tree giúp debug nhanh.
- Thay thế htop khi cần biểu đồ — htop chỉ hiển thị bar hiện tại, bottom cho biểu đồ theo thời gian.
- Monitoring nhiệt độ — widget temperature built-in, không cần cài thêm tool riêng.
Kết Luận
Bottom là một trong những terminal system monitor hiện đại nhất hiện nay. Viết bằng Rust nên nhanh và nhẹ, giao diện TUI đẹp với biểu đồ thời gian thực, tùy biến mạnh mẽ qua config file TOML, và chạy được trên cả Linux, macOS lẫn Windows. Nếu bạn đang tìm một替代 thế hiện đại cho htop — bottom chính là lựa chọn đáng thử.