bpytop – Awesome Linux, macOS and FreeBSD resource monitor

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:

  1. Extremely easy to use with gaming style menu system.
  2. Beautiful user interface.
  3. 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.
  4. Various function keys to obtain in-depth statistics for running Linux, macOS, and FreeBSD process.
  5. Sorting and filtering processes supported with filters.
  6. We can also send various Unix signals to the selected process.
  7. The bpytop will do an auto-updating graph for your server’s network usage.
  8. 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

That’s pretty great. Here is a quick video demo for you:

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 these days. Make sure you check out the project page too.

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 15 comments so far... add one

CategoryList of Unix and Linux commands
Disk space analyzersdf duf ncdu pydf
File Managementcat cp mkdir tree
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Modern utilitiesbat exa
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg glances gtop jobs killall kill pidof pstree pwdx time vtop
Searchingag grep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
15 comments… add one
  • Dietmar Ludmann Dec 18, 2020 @ 15:50

    Looks really great but eats a lot of cpu. Just like edex ui can impress your mates.
    I find glances a good alternative.

  • Daniel Dec 18, 2020 @ 18:30
    • Tim Dec 20, 2020 @ 5:49

      Not exactly the same bpytop has more information.

      I just stick to htop which has all this and performs better.

  • Jeff Fessler Dec 18, 2020 @ 23:31

    Great article!
    (P.s. I think there’s a single quotation mark missing in the Debian instruction set?)

  • Raymond E Ferguson Dec 19, 2020 @ 15:47

    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.


  • radiationcowboy Dec 19, 2020 @ 20:25

    Been using this for a few months now. It looks great, the usage is pretty negligible on my Ryzen setup.

  • Antonio Pastorino Dec 21, 2020 @ 7:27

    A cool piece of software indeed.
    Anyway for MacOS / Homebrew installation a last fundamental command is missing:

    brew install bpytop

    Otherwise you’ll never have the tool installed.


    • 🐧 Vivek Gite Dec 22, 2020 @ 8:39

      oh, yes. sorry about that. i updated the page. thank you, kind stranger.

  • Anastasios Dec 21, 2020 @ 8:19

    Debian 11 ???

  • Paul Littlefield Dec 21, 2020 @ 12:32

    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.

  • Paul Littlefield Dec 21, 2020 @ 12:36

    Fixed, with the command:-

    sudo -H pip install --ignore-installed psutil bpytop

  • Djey Dec 21, 2020 @ 15:17

    For the macos homebrew install, the main command is missing at the end:
    brew install bpytop

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum