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