# bottom — Beautiful Cross-Platform System Monitor in Rust > bottom (btm) is a customizable, cross-platform graphical system monitor for the terminal. It displays CPU, memory, network, disk, temperature, and process information with interactive charts — a modern alternative to top, htop, and btop. ## Install Save in your project root: # bottom — Beautiful Cross-Platform System Monitor in Rust ## Quick Use ```bash # Install bottom brew install bottom # Or: cargo install bottom # Or: sudo apt install bottom # Run btm # With specific update rate btm --rate 500 # update every 500ms # Minimal mode btm --basic # Show specific widgets only btm --default_widget_type proc ``` ## Introduction bottom is a terminal system monitor that combines the information of top, htop, and iotop into a single, beautiful interface. Built in Rust with Ratatui, it provides interactive charts for CPU, memory, network, and disk usage alongside a searchable process list with tree view. With over 13,000 GitHub stars, bottom stands out for its cross-platform support (Linux, macOS, Windows), extensive customization via TOML config, and intuitive keyboard/mouse navigation. ## What bottom Does bottom provides real-time visualization of system resources: CPU usage per core, memory and swap usage, network I/O, disk I/O, temperatures (where available), and a process table with search, sort, and tree view. All displayed as interactive terminal charts. ## Architecture Overview ``` [bottom (btm)] Rust + Ratatui + crossterm | +-------+-------+-------+ | | | | [CPU] [Memory] [Network] Per-core RAM/Swap Upload/ usage usage Download charts charts charts | +-------+-------+-------+ | | | | [Disk] [Temp] [Process] Read/ CPU/GPU Table with Write sensors search, I/O temps sort, tree ``` ## Self-Hosting & Configuration ```toml # ~/.config/bottom/bottom.toml [flags] rate = 1000 # Update rate in ms default_widget_type = "proc" hide_avg_cpu = false color = "gruvbox" temperature_type = "celsius" enable_gpu = true # Custom layout [[row]] [[row.child]] type = "cpu" [[row.child]] type = "mem" [[row]] [[row.child]] type = "net" [[row.child]] type = "disk" [[row]] [[row.child]] type = "proc" default = true ``` ## Key Features - **Interactive Charts** — CPU, memory, network, disk as live graphs - **Process Manager** — search, sort, filter, tree view, kill processes - **Cross-Platform** — Linux, macOS, and Windows support - **GPU Monitoring** — NVIDIA and AMD GPU utilization (where available) - **Custom Layouts** — configure widget arrangement via TOML - **Color Themes** — built-in themes (gruvbox, nord, etc.) and custom colors - **Mouse Support** — click and scroll to interact with widgets - **Battery** — battery status and charge level display ## Comparison with Similar Tools | Feature | bottom (btm) | btop | htop | glances | Netdata | |---|---|---|---|---|---| | Language | Rust | C++ | C | Python | C | | Platform | Linux, macOS, Win | Linux, macOS | Linux, macOS | Cross-platform | Linux, macOS | | GPU Monitoring | Yes | Yes | No | Via plugin | Yes | | Charts | Yes (interactive) | Yes | No (bars) | No | Yes (web) | | Custom Layout | TOML config | Theme config | No | No | Dashboard | | Mouse Support | Yes | Yes | Yes | No | Yes (web) | | Resource Usage | Very Low | Low | Very Low | Moderate | Moderate | ## FAQ **Q: bottom vs btop vs htop — which should I use?** A: bottom for interactive charts and Windows support. btop for the most beautiful TUI with GPU monitoring. htop for a lightweight, universal process viewer. All three are excellent. **Q: How do I kill a process?** A: Navigate to the process table, select a process, press dd (Vim-style) or Delete to send SIGTERM. Press dd again on the confirmation to send SIGKILL. **Q: Can I use bottom over SSH?** A: Yes. bottom works in any terminal, including SSH sessions. It adapts to the terminal size and uses minimal bandwidth. **Q: How do I customize the layout?** A: Edit ~/.config/bottom/bottom.toml and define [[row]] and [[row.child]] sections to arrange widgets. Each child specifies a widget type (cpu, mem, net, disk, proc, temp). ## Sources - GitHub: https://github.com/ClementTsang/bottom - Documentation: https://clementtsang.github.io/bottom - Created by Clement Tsang - License: MIT --- Source: https://tokrepo.com/en/workflows/82758995-3745-11f1-9bc6-00163e2b0d79 Author: AI Open Source