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, gotophtop — 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ímHành động
q / Ctrl+CThoát
EscĐóng dialog/search, thoát expanded mode
Ctrl+RReset display và dữ liệu
fFreeze/unfreeze cập nhật dữ liệu
?Mở help menu
eToggle expand widget đang chọn
Ctrl+Arrow / Shift+ArrowDi chuyển giữa các widget
Up/Down / j/kDi chuyển trong widget
gg / HomeNhảy về đầu bảng
G / EndNhả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íhtopbottom (btm)
Ngôn ngữCRust
Cross-platformChủ yếu Linux/macOSLinux, macOS, Windows
Giao diệnText-based, ASCII barsGraphical TUI, biểu đồ theo thời gian
Biểu đồ CPU/RAM/NetworkKhông (chỉ bar hiện tại)Có — biểu đồ theo thời gian, zoom được
Color themeCơ bảnBuilt-in themes + custom theme
Config fileHạn chếTOML đầy đủ, JSON Schema
Basic modeMặc địnhFlag –basic
Expansion widgetKhôngCó — phím e
Tree modeF5Hỗ trợ
Mouse supportCơ bảnĐầy đủ — click, scroll
Temperature sensorCần pluginBuilt-in widget
Battery widgetKhông

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 _btm vào một thư mục trong $fpath
  • PowerShell: thêm _btm.ps1 và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ử.

Tham Khảo

Chào các bạn mình là Quốc Hùng , mình sinh ra thuộc cung song tử ,song tử luôn khẳng định chính mình ,luôn luôn phấn đấu vượt lên phía trước ,mình sinh ra và lớn lên tại vùng đất võ cổ truyền ,đam mê của mình là coder ,ngày đi học tối về viết blog ...