Reading Time: 5 minutes

What is Bashtop?

Bashtop is a command-line based resource monitor written in bash, which depicts usage and statistics for the CPU processor(s), RAM, hard disks, network sources, and other running processes. It also contains a customizable menu and a fully responsive terminal user interface.

A newer version of bashtop is now available that is written in Python called bpytop. This CLI version is much faster and consumes only about 1/3 the resources as the original bashtop. It is less CPU intensive and includes more features, such as:

  • Mouse support
  • A toggleable mini mode
  • Additional customization
  • Specific graphs for memory consumption

Prerequisites for Bash Version

  • Bash version 4.4 or later
  • Git
  • GNU Coreutils
  • GNU command-line tools — sed, awk, grep, ps, and curl (curl is used for updates and adding extra themes)
  • Lm-sensors (optional — Used for gathering CPU temperature statistics)
  • Python3 and PSUTI

Prerequisites for Python Version

  • Python3 (v3.6 or later)
  • psutil module (v5.7.0 or later)

Install bpytop

To install or update to the latest version, use the following Pip command.

[root@host2 ~]# pip3 install bpytop --upgrade

Or, we can clone an installation using Git.

[root@host2 ~]# git clone https://github.com/aristocratos/bpytop.git 
[root@host2 ~]# cd bpytop 
[root@host2 ~]# make install

Install Bashtop

Git Installation

To manually install bashtop on Linux, OSX, and FreeBSD, we can clone and install it using Git.

[root@host2 ~]# git clone https://github.com/aristocratos/bashtop.git
[root@host2 ~]# cd bashtop
[root@host2 ~]# sudo make install 

Uninstall Bashtop

To uninstall bashtop, run the following command.

[root@host2 ~]# make uninstall

Debian Installation

A Debian based installation is available in the official Debian repository. To install it, run one of the following commands.

[root@host2 ~]# apt install bashtop
[root@host2 ~]# apt install bpytop 

Ubuntu Installation

An Ubuntu-based installation is available in the official Ubuntu repository beginning with Ubuntu 20.10. To install bashtop, add the PPA repository and use apt to install the program.

[root@host2 ~]# add-apt-repository ppa:bashtop-monitor/bashtop
[root@host2 ~]# apt update
[root@host2 ~]# apt install bashtop 

Snap Installation

To install bashtop using the snap-based Installation method, run this command.

[root@host2 ~]# snap install bashtop
or
[root@host2 ~]# snap install bpytop

Once bashtop is installed, run these commands to allow snap to function as intended.

 [root@host2 ~]# snap connect bashtop:mount-observe
 [root@host2 ~]# snap connect bashtop:network-control
 [root@host2 ~]# snap connect bashtop:hardware-observe
 [root@host2 ~]# snap connect bashtop:system-observe
 [root@host2 ~]# snap connect bashtop:process-control 

To make modifications to the configuration file and add in themes, run this command.

[root@host2 ~]# ~/snap/bashtop/current/.config/bashtop

CentOS 8 Installation Using DNF

To install bashtop on CentOS 8, use one of the following commands.

[root@host2 ~]# dnf install bpytop
[root@host2 ~]# dnf config-manager --set-enabled powertools

[root@host2 ~]# dnf install epel-release
 Last metadata expiration check: 0:24:54 ago on Tue Dec 29 10:51:04 2020.
 Dependencies resolved.
 ================================================================
  Package Architecture Version Repository Size
 ================================================================
 Installing:
  epel-release noarch 8-8.el8 system-Extras 23 k
 Transaction Summary
 ================================================================
 Install 1 Package
 Total download size: 23 k
 Installed size: 32 k
 Is this ok [y/N]: y
 Downloading Packages:
 epel-release-8-8.el8.noarch.rpm 861 kB/s | 23 kB 00:00
 --------------------------------------------------------------------
 Total 837 kB/s | 23 kB 00:00
 Running transaction check
 Transaction check succeeded.
 Running transaction test
 Transaction test succeeded.
 Running transaction
   Preparing : 1/1
   Installing : epel-release-8-8.el8.noarch 1/1
   Running scriptlet: epel-release-8-8.el8.noarch 1/1
   Verifying : epel-release-8-8.el8.noarch 1/1
 Installed:
   epel-release-8-8.el8.noarch
 Complete!

[root@host2 ~]# dnf install bashtop
 Extra Packages for Enterprise Linux Modular 8 - x86_64 1.8 MB/s | 528 kB 00:00
 Extra Packages for Enterprise Linux 8 - x86_64 32 MB/s | 8.7 MB 00:00
 Dependencies resolved.
 ================================================================
  Package Architecture Version Repository Size
 ================================================================
 Installing:
  bashtop noarch 0.9.25-1.el8 epel 70 k
 Installing dependencies:
  python3-psutil x86_64 5.6.3-5.el8 epel 396 k
 Transaction Summary
 ================================================================
 Install 2 Packages
 Total download size: 466 k
 Installed size: 2.3 M
 Is this ok [y/N]: y
 Downloading Packages:
 (1/2): bashtop-0.9.25-1.el8.noarch.rpm 2.5 MB/s | 70 kB 00:00
 (2/2): python3-psutil-5.6.3-5.el8.x86_64.rpm 11 MB/s | 396 kB 00:00
 --------------------------------------------------------------------
 Total 2.6 MB/s | 466 kB 00:00
 warning: /var/cache/dnf/epel-6519ee669354a484/packages/bashtop-0.9.25-1.el8.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
 Extra Packages for Enterprise Linux 8 - x86_64 1.6 MB/s | 1.6 kB 00:00
 Importing GPG key 0x2F86D6A1:
  Userid : "Fedora EPEL (8) <epel@fedoraproject.org>"
  Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
  From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
 Is this ok [y/N]: y
 Key imported successfully
 Running transaction check
 Transaction check succeeded.
 Running transaction test
 Transaction test succeeded.
 Running transaction
   Preparing : 1/1
   Installing : python3-psutil-5.6.3-5.el8.x86_64 1/2
   Installing : bashtop-0.9.25-1.el8.noarch 2/2
   Running scriptlet: bashtop-0.9.25-1.el8.noarch 2/2
   Verifying : bashtop-0.9.25-1.el8.noarch 1/2
   Verifying : python3-psutil-5.6.3-5.el8.x86_64 2/2
 Installed:
   bashtop-0.9.25-1.el8.noarch python3-psutil-5.6.3-5.el8.x86_64
 Complete!
[root@host2 ~]# 

RHEL 8 / CentOS 8 installation Using the EPEL Repository

CentOS 8: First, enable the EPEL repository and then run the following yum commands.

 [root@host2 ~]# yum -y install epel-release
 [root@host2 ~]# yum repolist
 [root@host2 ~]# yum update
 [root@host2 ~]# yum install bashtop 
or
 [root@host2 ~]# yum install bpytop 

RedHat 8: First, enable the EPEL repository using the following command. 

[root@host2 ~]# yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
[root@host2 ~]# yum repolist
[root@host2 ~]# yum update
[root@host2 ~]# yum install bashtop 
or
 [root@host2 ~]# yum install bpytop 

Run Bashtop

To start the application, run one of the following commands.

[root@host2 ~]# bashtop
[root@host2 ~]# bpytop
bashtopA.122920

As we can see from the above screenshot, the basic layout provides the following information:

  • CPU type and the number of cores.
  • Load averages.
  • Memory usage.
  • Both used and free disk space.
  • A list of running processes.
  • The network traffic traversing our network card, in this case, ‘eth0’.

Bashtop also contains multiple commands & shortcuts. To view them, press the ESC key and then choose the ‘HELP’ option using the up and down arrow keys. Below is a full list of help commands as seen on the help screen.

bashtop122920

Configure Bashtop

To configure bashtop, we can also open and edit the configuration file located within either the “$HOME/.config/bashtop” folder or $HOME/.config/bpytop” folder. All options are also editable from within the user interface. The bashtop.cfg or bpytop.cfgfile will be auto-generated if it is not found. Here is a sample view of the default bashtop configuration file and the default bpytop configuration file.

Conclusion

Bashtop is a superb method of monitoring our Linux system resources. A minor downside to bashtop is that it can be slower to respond than, say, htop or top due to it being a bit more resource-intensive. Nevertheless, it is a reliable tool to add to your Linux tool chest for providing relevant info regarding assorted system metrics.

Our Support Teams are filled with experienced Linux technicians and talented system administrators who have intimate knowledge of multiple web hosting technologies, especially those discussed in this article.

Should you have any questions regarding this information, we are always available to answer any inquiries with issues related to this article, 24 hours a day, 7 days a week 365 days a year.

If you are a Fully Managed VPS server, Cloud Dedicated, VMWare Private Cloud, Private Parent server, Managed Cloud Servers, or a Dedicated server owner, and you are uncomfortable with performing any of the steps outlined, we can be reached via phone at @800.580.4985, a chat or support ticket to assisting you with this process.

Avatar for David Singer

About the Author: David Singer

I am a g33k, Linux blogger, developer, student, and former Tech Writer for Liquidweb.com. My passion for all things tech drives my hunt for all the coolz. I often need a vacation after I get back from vacation....

Latest Articles

How To Set Up a Virtualization Host Using KVM on Ubuntu

Read Article

How to Make OpenStack Work for You

Read Article

Five Steps to Create a Robots.txt File for Your Website

Read Article

Premium Business Email Pricing FAQ

Read Article

Microsoft Exchange Server Security Update

Read Article