btop — Linux Resource Monitor Better Than htop
What is btop?
btop is a next-generation system resource monitor written in C++ by Aristocratos. It’s the successor to the popular bashtop (Bash) and bpytop (Python), but significantly faster and more feature-rich.
In a single terminal window it displays:
- CPU usage (all cores individually)
- RAM and SWAP memory
- Disk activity
- Network traffic
- Process list with filtering and kill capabilities
All presented in an aesthetic, colorful interface with real-time graphs.
Installation
Debian/Ubuntu
sudo apt install btop
Fedora
sudo dnf install btop
Arch Linux
sudo pacman -S btop
From source (latest version)
git clone https://github.com/aristocratos/btop.git
cd btop
make
sudo make install
Basic Usage
Starting it is simple:
btop
Keyboard Navigation
| Key | Action |
|---|---|
h |
Help |
Esc |
Menu / Close |
q |
Quit |
m |
Toggle memory mode |
e |
Toggle process tree view |
p |
Sort processes |
f |
Filter processes |
k |
Kill process (SIGTERM) |
K |
Kill process (SIGKILL) |
+ / - |
Change refresh interval |
Filtering Processes
Press f and type the process name. btop will show only matching processes. This is much faster than ps aux | grep.
Filter: nginx
Configuration
The configuration file is located at:
~/.config/btop/btop.conf
Useful Options
# Color theme (available: Default, TTY, Low Color)
color_theme = "Default"
# Refresh interval in milliseconds
update_ms = 1000
# Show CPU temperatures (requires lm-sensors)
check_temp = true
# Show CPU frequency
show_cpu_freq = true
# Rounded corners (if terminal supports)
rounded_corners = true
# Show laptop battery
show_battery = true
Themes
btop includes several built-in themes. You can switch them in the menu (Esc → Options → Theme) or download additional ones from the repository:
ls /usr/share/btop/themes/
btop vs htop - Comparison
| Feature | btop | htop |
|---|---|---|
| Language | C++ | C |
| CPU graphs | Yes (graphical) | Text bars |
| Network graphs | Yes | No |
| Disk graphs | Yes | No |
| Graph history | Yes | No |
| RAM usage | ~20-30 MB | ~5-10 MB |
| Themes | Many | Basic |
| Availability | Newer | Everywhere |
When to choose btop:
- You want to see everything in one place
- You appreciate aesthetic interfaces
- You have a terminal with good color support
When to choose htop:
- You’re working on a server over slow SSH
- You need minimal resource usage
- The system doesn’t have btop in repositories
Integration with tmux
btop works great in tmux. You can run it in a separate pane:
tmux split-window -h 'btop'
Or create a dedicated monitoring session:
tmux new-session -d -s monitor 'btop'
tmux attach -t monitor
Troubleshooting
Missing CPU Temperatures
Install lm-sensors and run configuration:
sudo apt install lm-sensors
sudo sensors-detect
Garbled Interface
btop requires a terminal with Unicode and True Color support. Check:
echo $TERM
# Should be: xterm-256color, tmux-256color, etc.
If using SSH, make sure TERM is passed through:
ssh -t user@server 'TERM=xterm-256color btop'
High CPU Usage by btop
Increase the refresh interval in configuration:
update_ms = 2000
Summary
btop is an excellent choice for anyone who wants a complete picture of system state in a single, aesthetic view. It combines the functionality of htop, iotop, iftop, and nmon in one tool.
If you’ve been using htop until now, try btop - you probably won’t go back.