What Makes btop Monitoring Different
If you spend any time in the Linux terminal, you’ve probably run htop to check what’s eating your CPU. I used htop for years. Then I found btop, and honestly, I haven’t gone back. Written in C++, it’s the successor to bashtop and bpytop. It shows you CPU, memory, disks, network, and even GPU stats all in one screen. And it looks good doing it.
This guide covers the 10 features that make btop the best choice for tracking Linux system performance. I’ll show you actual keystrokes and options, not generic advice.
1. Installing the btop Monitoring Tool
Getting started with btop is simple. Most distros have it packaged already. On Ubuntu or Debian, you can grab it from the official repo:
sudo apt install btop
On Fedora:
sudo dnf install btop
On Arch:
sudo pacman -S btop
There’s also a static binary release on the btop GitHub page if you want the latest version without waiting for your distro. The Tecmint guide on btop also covers installation on more distros. The Homebrew crowd can run brew install btop. Once it’s installed, just type btop and hit Enter.
2. CPU and Memory at a Glance
The default btop screen shows you CPU usage per-core with live graphs. Each core gets its own bar with color coding. Green means idle, blue means nice, yellow means user processes, and red means kernel. You can spot a runaway process before it crashes your server.
Memory shows total, used, and cached values. What I like is that btop separates actual application memory from cache and buffers. Other tools lump them together and make it look like you’re running out of RAM when you aren’t. Htop does this too, but btop’s visual layout makes it clearer at a glance.
3. Disk IO Tracking
Most monitoring tools show you disk space. Few show you actual disk activity. Btop tracks both read and write speeds in real time. You can see which disk is bottlenecking and whether it’s reads or writes causing the problem.
Press d while btop is running to toggle to the disk view. You’ll see IO activity, read speeds, and write speeds per device. This is extremely useful when debugging slow database queries or container disk writes. If you’ve ever run iostat -x 1 and wanted the same data in a prettier format, this is it.
4. Network Monitoring Built In
The network view in btop shows you upload and download speeds for each interface. It auto-scales the graph based on traffic, so you don’t have to fiddle with axis limits. Press n to switch to network view.
I use this constantly when testing web applications or copying files between servers. You can watch the transfer speed spike and drop in real time. It’s more immediate than running nload or parsing /proc/net/dev yourself. Btop keeps a rolling history, so you can also see traffic patterns over the last minute or so.
5. Process Management Without Leaving btop
You can browse, filter, and kill processes right inside the btop screen. Press f to filter by process name. Use the arrow keys or vim keys (j/k) to navigate. Press Delete or F9 to send a signal to a selected process.
This is faster than alt-tabbing to a terminal to run kill -9. The tree view (press t) shows parent-child relationships, which helps when you’re trying to find which service spawned all those zombie processes. Btop also shows CPU and memory usage per process in color-coded bars, so the heaviest hitters stand out immediately.
6. GPU Monitoring Support
This is the feature that sets btop apart from tools like htop. The btop monitoring tool supports GPU monitoring on Linux for NVIDIA, AMD, and Intel GPUs. Press 0 to toggle GPU boxes. You get temperature, usage percentage, and memory usage for each GPU.
This is a lifesaver if you run any kind of machine learning workloads or GPU rendering. You don’t need nvidia-smi in a separate terminal window. Everything is in one place. The GPU support requires the nvidia-ml library for NVIDIA or rocm_smi_lib for AMD, but the btop binary on most distros ships with GPU support enabled by default.
7. Battery Stats for Laptops
If you run Linux on a laptop, btop has a battery meter built in. It shows charge percentage and whether the battery is charging or discharging. Press b to toggle the battery display.
This is a small thing, but it saves you from running acpi or upower every time you want to check your battery level. I keep the battery meter visible at all times on my ThinkPad. Combined with the CPU frequency and temperature data that the btop monitoring tool also shows, it gives you a complete picture of your system’s power state.
8. Custom Themes and Presets
Btop comes with several built-in themes. You can cycle through them by pressing m for the main menu, then selecting Options, then Themes. There’s a dark theme, a light theme, a high-contrast theme, and a few others.
You can also save up to 9 custom presets that remember which panels are visible and where they’re positioned. Press 1 through 9 to load a preset. This is useful if you have different monitoring layouts for different tasks. One preset for server monitoring with disks and network, another for GPU workloads, another for general desktop use. The btop monitoring tool saves your config to ~/.config/btop/btop.conf.
9. Keyboard Shortcuts That Make Sense
The btop monitoring tool uses intuitive keyboard shortcuts. Here are the ones I use most:
d– Disk viewn– Network view0– Toggle GPU boxesb– Toggle battery metert– Tree view for processesf– Filter processesp– Pause/resume updatingqorCtrl+c– Quitm– Main menu?– Help screen with all keybindings
You don’t need to memorize these. Press ? any time and you get the full list. The menubar at the top also hints at the available views. The btop monitoring tool supports full mouse interaction too if you prefer clicking.
10. Cross-Platform Compatibility
Btop runs on Linux, macOS, FreeBSD, NetBSD, and OpenBSD. The config files and keybindings are the same across all platforms. If you manage a mixed environment, you can use the same btop monitoring workflow everywhere.
The macOS version works on both Intel and Apple Silicon machines with full GPU support on the M-series chips. I use it on my Linux servers and my MacBook with the same ~/.config/btop/btop.conf file. The brew install btop command works on both platforms.
Why I Switched to btop Monitoring
I used htop for close to a decade. It’s fine. But the btop monitoring tool gives me more data in less space. I don’t need to run htop, nvidia-smi, iostat, and nload in four different terminals. One btop window replaces all of them.
If you’re still using htop, give btop a try for a week. Install it, run it, customize it. You’ll probably make the same switch I did. And if you want to learn about other modern terminal replacements, check out our guides on fd for file searching and the bat command for viewing files with syntax highlighting.