The bashtop is an impressive Linux resource monitor that shows usage and stats for processor, memory, disks, and network. However, it suffers from bash itself, and cross-platform support is a nightmare. Now we have the Python port of bashtop. We can use a resource monitor that shows usage and stats for CPU, RAM, SSD (hard disk), network, and processes information in a lovely format.
bpytop – Awesome Linux, macOS and FreeBSD resource monitor
Not just the bpytop tool is impressive, but it offers tons of features. Here is a list of some of the features I found useful before we install awesome bpytop command on Linux, macOS and FreeBSD Unix:
- Extremely easy to use with gaming style menu system.
- Beautiful user interface.
- Full mouse support in its glory. We can scroll and click. The days are gone when you need to remember tons of keyboard shortcuts. Of course, we can use the arrow and other keys to control responsive UI.
- Various function keys to obtain in-depth statistics for running Linux, macOS, and FreeBSD process.
- Sorting and filtering processes supported with filters.
- We can also send various Unix signals to the selected process.
- The bpytop will do an auto-updating graph for your server’s network usage.
- Get a piece of quick information about current read and write speeds for your systems disk usage.
A note about software dependencies: It would be best to have Python3 (v3.6 or later) and the psutil module (v5.7.0 or later). Make sure you are using OpenSSH for a remote server running in clouds.
Installing bpytop
The best way to install the bpytop is by typing the following command to install or upgrade to the latest version:
$ pip3 install bpytop --upgrade
Arch Linux install bytop
Run the pacman command:
$ sudo pacman -Syu
$ sudo pacman -S bpytop
Related: How to run multiple commands with sudo on your macOS, Linux and Unix
Debian 11
We use the apt command:
$ sudo sh -c 'apt update && apt -y upgrade && apt -y install bpytop'
RHEL 8 or CentOS 8 or Fedora users
For RHEL 8 enable EPEL (see how to enable and use EPEL on CentOS 8) and then type the dnf command:
$ sudo sh -c 'dnf update && dnf install bpytop'
FreeBSD install bpytop
Run the pkg command to install bpytop:
$ sudo pkg install bpytop
Ubuntu snap installation
Execute the following snap command:
$ sudo snap install bpytop
However, you need to grant additional permissions too:
sudo snap connect bpytop:mount-observe
sudo snap connect bpytop:network-control
sudo snap connect bpytop:hardware-observe
sudo snap connect bpytop:system-observe
sudo snap connect bpytop:process-control
sudo snap connect bpytop:physical-memory-observe
Install bpytop on macOS using homebrew
Install install Homebrew on macOS if not already installed and then type the following commands:
brew install python3 git
python3 -m pip install psutil
brew install hacker1024/hacker1024/coretemp
brew install osx-cpu-temp
brew install bpytop
macOS users please use iTerm2.
How to install Linux, OSX and FreeBSD manually
Clone the repo and run:
git clone https://github.com/aristocratos/bpytop.git
cd bpytop
sudo make install
We can uninstall it if not needed as follows:
$ sudo make uninstall
How do I use bpytop?
All we have to do is type:
$ bpytop
And boom:
bytop running on my laptop powered by Ubuntu
Want to start bpytop in minimal mode ?
Run the following to run in minimal mode without memory and networking info:
$ bpytop -p
# OR #
$ bpytop --proc
We can process information too:
$ bpytop -s
# OR #
$ bpytop --stat
Summing up
Today, try bpytop and let me know in the comment system if you found this fantastic utility useful on your Linux, macOS, and FreeBSD as resource monitor. It is much faster than bashtop and works pretty well as Python 3 is standard on many Unix boxes. Make sure you checkout the project page too.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via:
- RSS feed or Weekly email newsletter
- Share on Twitter • Facebook • 15 comments... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Looks really great but eats a lot of cpu. Just like edex ui can impress your mates.
I find glances a good alternative.
This is the exact same as https://www.cyberciti.biz/open-source/command-line-hacks/bashtop-awesome-linux-resource-monitor-tool/
Not exactly the same bpytop has more information.
I just stick to htop which has all this and performs better.
Great article!
(P.s. I think there’s a single quotation mark missing in the Debian instruction set?)
Fixed it. I appreciate your feedback.
Sorry, but this is one case where the gui is superior. bubblefishymon perfected system
status monitoring years ago.
Water level is memory, bubbles are cpu and fish are network traffick in/out by direction. I think the ducky is just there for fun.
https://community.linuxmint.com/software/view/bubblefishymon
Been using this for a few months now. It looks great, the usage is pretty negligible on my Ryzen setup.
https://photos.app.goo.gl/FcFkjegv3EMj2WmC8
Oh my, that is p0rn for hardware. Ha!
A cool piece of software indeed.
Anyway for MacOS / Homebrew installation a last fundamental command is missing:
Otherwise you’ll never have the tool installed.
Bests,
Antonio
oh, yes. sorry about that. i updated the page. thank you, kind stranger.
Debian 11 ???
Nice, however if I try to install it, I get the following error:-
ERROR: Cannot uninstall ‘psutil’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
Fixed, with the command:-
sudo -H pip install --ignore-installed psutil bpytop
For the macos homebrew install, the main command is missing at the end:
brew install bpytop
Thanks for the heads up!