Last Updated on 2024-09-27 by Clay
I've been looking for a more visually appealing alternative to htop
for a long time. A few years ago, during a gathering with friends, I happened to pull out my laptop to fix a docker
segmentation fault issue in the lab. One of my friends saw my htop
and remarked, "So primitive~ Engineers are so boring~" I still hold a grudge for that (just kidding, of course).
Today, I want to document a tool that has similar functionality to htop
, but with a much more modern and stylish interface — bpytop
.
bpytop
may not offer many innovative features compared to htop
, but it does at least support disk and network monitoring, and even has Mac support. Its downside is that it relies on Python, so if you're on a system without Python, you'll need to install it separately.
For low-resource devices, such as old laptops from seven or eight years ago, bpytop
might use more memory than htop
, so you'll need to weigh your options.
Installation
On systems like Ubuntu/Debian, we can install it using APT:
sudo apt install bpytop
For Fedora systems, use DNF to install:
sudo dnf install bpytop
If you already have Python and its package manager PIP, you can install it directly using the pip
command:
pip3 install bpytop
Using bpytop
Using bpytop
is very simple, just like htop
:
bpytop
Output:
You’ll see a sleek interface like the one shown above, displaying:
- CPU: Displays usage, frequency, temperature, and processes per core
- Memory & SWAP: Shows current memory usage (RAM & SWAP)
- Disk: Displays read/write speed and space usage of mounted disk partitions
- Network: Shows upload and download traffic and speed
- Process Monitoring: Lists running processes, sortable by CPU and RAM usage
If you ask me, one slight downside is the lack of GPU monitoring, which is a bit of a bummer for AI engineers — I always keep my nvidia-smi
open using the viddy
command.
If you want to show or hide certain sections, look for the gray letters in bpytop
— those are the shortcut keys for toggling the visibility of different sections.
Additionally, pressing q
will exit bpytop
just like htop
.
One great feature is that you can use + or - to increase or decrease the refresh interval. I prefer to keep the display refresh at 100ms to see system status changes more quickly.
Lastly, if you want to customize some settings, you can head over to: ~/.config/bpytop/bpytop.conf
. For example, I turned off the background setting to showcase my terminal’s transparent background.
References
- aristocratos/bpytop: Linux/OSX/FreeBSD resource monitor
- bpytop - Awesome Linux, macOS and FreeBSD resource ...
- Install bpytop on Linux | Snap Store