btop
Resource monitor with beautiful UI and customization.
Official WebsiteFeatures
Installation
brew install btopapt install btoppacman -S btopWhy Use btop?
Beautiful Graphical UI
Display CPU usage history graphs, network bandwidth, disk I/O, and more in a visually beautiful way.
Per-Core CPU Display
Display each CPU core's usage individually in graph form. See multi-core system load balance at a glance.
Network and Disk Monitoring
Display network upload/download speeds and disk I/O in real-time graphs.
Mouse Support
Full mouse support. Click to select processes, drag to scroll, right-click for context menu.
Installation
# macOS (Homebrew)
brew install btop
# Ubuntu/Debian (22.04 and later)
sudo apt install btop
# Ubuntu (older versions - snap)
sudo snap install btop
# Fedora
sudo dnf install btop
# Arch Linux
sudo pacman -S btop
# Build from source
git clone https://github.com/aristocratos/btop.git
cd btop
make
sudo make installBasic Usage
# Launch btop
btop
# Launch in low color mode
btop --low-color
# Launch with specific theme
btop --theme gruvbox_dark
# Specify update interval (milliseconds)
btop --update 500
# Force UTF-8 mode
btop --utf-force
# Debug mode
btop --debugScreen Display
Layout Components
Keyboard Shortcuts
| Key | Function |
|---|---|
h / ? | Show help menu |
Esc / m | Open main menu |
q | Exit btop |
1 | Focus CPU box |
2 | Focus memory box |
3 | Focus network box |
4 | Focus process box |
e | Toggle process tree view |
p | Toggle sort order (ascending/descending) |
f | Enter process filter |
k | Send signal to selected process |
+ / - | Increase/decrease update interval |
n | Switch network interface |
b | Toggle network bandwidth unit |
z | Reset network graph scale |
Process Management
Process Sorting
Change sort order by pressing the following keys in the process box.
cmioProcess Termination
Select a process and press k to display the signal selection menu.
# Available signals in btop
SIGTERM (15) - Normal termination request
SIGKILL (9) - Force kill
SIGINT (2) - Interrupt
SIGSTOP (19) - Pause process
SIGCONT (18) - Resume paused processSettings and Customization
Open the menu with Esc or m to change settings. Configuration files are saved at:
# Configuration file location
~/.config/btop/btop.conf
# Theme file location
~/.config/btop/themes/
# Check available themes
ls /usr/share/btop/themes/ # or ~/.config/btop/themes/Main Settings
Theme
Many built-in themes including Default, TTY, gruvbox_dark, nord, onedark, and dracula.
Color Mode
Choose from True color (24-bit), 256 color, or Low color (basic 16 colors).
Graph Symbol
Choose from different graph styles like block, braille, and TTY.
Layout
Adjust visibility and placement of CPU, memory, network, disk, and process boxes.
Configuration File Example
# btop.conf example
# Theme
color_theme = "gruvbox_dark"
# Use 24-bit color
truecolor = True
# Update interval (milliseconds)
update_ms = 1000
# Graph symbol (braille, block, tty)
graph_symbol = "braille"
# Show per-core graphs in CPU box
shown_boxes = "cpu mem net proc"
# Process sort order
proc_sorting = "cpu lazy"
# Process tree view
proc_tree = False
# Show CPU temperature (supported hardware only)
check_temp = True
cpu_sensor = "Auto"
# Disk usage filter
disks_filter = ""
# Network auto-selection
net_auto = TrueTips
1. Remote Monitoring via SSH
Connect to a remote server via SSH and run btop to beautifully monitor the remote system. Combine with tmux or screen for added convenience.
2. Optimization for Low-Spec Environments
Use the --low-color option or increase the update interval to run comfortably on low-spec systems.
3. GPU Monitoring (NVIDIA)
If NVIDIA drivers are installed, you can monitor GPU usage, memory, and temperature. Enable GPU display in settings.
4. Preset Layouts
Switch between preset layouts with the p key. A compact layout is useful for narrow terminals.
5. Migration from bashtop
btop is the successor to bashtop by the same author. It's faster than bashtop (shell script) and has more features.