bottom
Cross-platform graphical system/process monitor.
Official WebsiteFeatures
Installation
brew install bottompacman -S bottomcargo install bottomWhy Use bottom?
True Cross-Platform
Works fully on Linux, macOS, and Windows. Monitor your system on any OS with the same interface.
Fast and Lightweight (Rust)
Written in Rust with low memory usage and high speed. Runs comfortably even on low-spec machines.
Temperature and Battery Monitoring
Monitor CPU and GPU temperatures and laptop battery status. Get a complete picture of your hardware.
Flexible Layout
Freely customize widget placement in the config file. Display only the information you need.
Additional Installation Methods
# Ubuntu/Debian (GitHub Releases)
curl -LO https://github.com/ClementTsang/bottom/releases/latest/download/bottom_x86_64-unknown-linux-gnu.deb
sudo dpkg -i bottom_x86_64-unknown-linux-gnu.deb
# Fedora (COPR)
sudo dnf copr enable atim/bottom
sudo dnf install bottom
# Windows (Scoop)
scoop install bottom
# Windows (Chocolatey)
choco install bottomBasic Usage
# Launch bottom (btm command)
btm
# Basic mode (simple display)
btm --basic
# Show battery information
btm --battery
# Launch with specific update interval (milliseconds)
btm --rate 500
# Show temperature in Celsius (default)
btm --celsius
# Show temperature in Fahrenheit
btm --fahrenheit
# Specify configuration file
btm --config /path/to/config.toml
# View available options
btm --helpScreen Display
Widget List
Keyboard Shortcuts
| Key | Function |
|---|---|
? | Show help menu |
q / Ctrl+c | Exit bottom |
Esc | Close dialog / Cancel search |
Tab / Shift+Tab | Move to next/previous widget |
h j k l | Vim-style navigation |
e | Expand/collapse selected widget |
/ | Start process search |
t | Toggle process tree view |
s | Open sort menu |
I | Reverse sort order |
P | Sort by CPU% |
M | Sort by Memory% |
dd | Kill selected process (SIGTERM) |
Ctrl+d | Scroll down half page |
Ctrl+u | Scroll up half page |
g / G | Jump to beginning/end of list |
Process Management
Process Search and Filter
Press / to enter search mode. Use the following search syntax:
# Search by process name
node
# Search by regex
/node.*server/
# Search by PID
pid:1234
# Search by user
user:root
# Combined search
user:www-data AND cpu>10
# Clear search
EscProcess Termination
Select a process and press dd to send SIGTERM. A confirmation dialog appears.
Settings and Customization
Configuration files are in TOML format and placed at the following locations:
# Configuration file location
# Linux
~/.config/bottom/bottom.toml
# macOS
~/Library/Application Support/bottom/bottom.toml
# or
~/.config/bottom/bottom.toml
# Windows
%APPDATA%\bottom\bottom.tomlConfiguration File Example
# bottom.toml
[flags]
# Update interval (milliseconds)
rate = 1000
# Temperature unit (Celsius, Fahrenheit, Kelvin)
temperature_type = "Celsius"
# Show average CPU usage
avg_cpu = true
# Enable GPU monitoring
enable_gpu = true
# Show battery information
battery = true
[colors]
# Custom color settings
table_header_color = "LightBlue"
cpu_color = "LightMagenta"
ram_color = "LightGreen"
swap_color = "LightYellow"
rx_color = "LightCyan"
tx_color = "LightMagenta"
# Theme (gruvbox, gruvbox-light, nord, nord-light)
# theme = "gruvbox"
[row]
# Custom layout
[[row.child]]
type = "cpu"
[[row.child]]
type = "mem"
[[row]]
[[row.child]]
type = "net"
[[row.child]]
type = "proc"
default = true # Focus on startupCreating Custom Layouts
One of bottom's powerful features is the ability to completely customize widget layout in the config file.
# Layout example: CPU-focused monitoring
[[row]]
ratio = 2
[[row.child]]
type = "cpu"
ratio = 4
[[row.child]]
type = "temp"
ratio = 1
[[row]]
ratio = 3
[[row.child]]
type = "proc"
ratio = 3
[[row.child]]
[[row.child.child]]
type = "mem"
[[row.child.child]]
type = "net"
# ratio: widget size ratio
# type: cpu, mem, net, proc, temp, disk, batteryTips
1. Operations for Vim Users
bottom supports Vim-like keybindings. Navigation with hjkl, kill processes with dd, search with /. Familiar for Vim users.
2. GPU Monitoring
If using NVIDIA GPU, use the --enable_gpu option to monitor GPU usage and temperature.
3. Basic Mode for Simplicity
Using btm --basic displays a simple layout similar to htop. Useful for narrow terminals or when you want to avoid information overload.
4. Process Grouping
After navigating to the process widget with Tab, switch to "Grouped" mode with Tab to group processes with the same name.
5. Sharing Configuration
Manage config files (bottom.toml) in a dotfiles repository to share settings across machines. Since it's cross-platform, the same config works on Linux/macOS/Windows.
6. Disk Filter
Use disk_filter in the config file to filter which disks to display. Hide unnecessary mount points like /snap.