bashtop – Awesome Linux resource monitor that shows usage and stats for processor, memory, disks, and network

There is a new kid in town for resource monitoring on Linux called bashtop. As the name suggests, the entire tool coded in the bash script itself that displays usage and stats for CPU, RAD, HDD/SSD, network, and other resources. Let us see how to install and use bashtop, which is an awesome Linux resource monitor. You don’t need a Linux desktop to install it. You can also install this app on macOS/FreeBSD provided that you meet software requirements.

ADVERTISEMENTS

Installing bashtop – Excellent Linux resource monitor

Installation requirement includes:

  • Bash version 4.4+ but Bash version 5.x+ for best performance
  • GNU/coreutils
  • AWK/sed/grep (all GNU version)
  • Python3 and psuti

Let us get our hands on dirty with bashtop.

Ubuntu Linux install bashtop

Run the snap command:
$ snap install bashtop
Alternatively, try PPA repository and then install bashtop:
$ sudo add-apt-repository ppa:bashtop-monitor/bashtop
$ sudo apt update
$ sudo apt install bashtop

Debian Linux install bashtop

Available in official Debian repository for Debian Linux 11.x only:
$ sudo apt install bashtop

FreeBSD install bashtop

You need to install dependencies for FreeBSD using the pkg command:
$ sudo pkg install coreutils gsed python3 git
$ sudo python3 -m ensurepip
$ sudo pip3 install psutil

Clone the repo and install it:
$ git clone https://github.com/aristocratos/bashtop.git
$ cd bashtop
$ sudo make install
## uninstall command ##
## $ sudo make uninstall

macOS install bashtop

Please note that you need iTerm2 otherwise bastop will not work correctly in the standard terminal shipped with macOS.

Again, install required dependencies for macOS Unix desktop/laptop:
$ brew install python3
$ python3 -m pip install psutil
$ brew install bash coreutils gnu-sed git
$ brew install osx-cpu-temp
$ git clone https://github.com/aristocratos/bashtop.git
$ cd bashtop
$ sudo make install

Arch Linux install bashtop

We need use the pacman command to install the same:
$ sudo pacman -S bashtop

Fedora install bashtop

Use the dnf command:
$ sudo dnf install bashtop

RHEL 8 / CentOS 8 install bashtop using EPEL repo

First, enable EPEL repo on CentOS 8 (see RHEL 8 EPEL repo tutorial) and then run the following yum command:
$ sudo yum install bashtop

How to start bashtop

Now that we installed the bashtop, it is time to start it and see the application in all TUI (Text-based user interface ) glory:
$ bashtop

bashtop - Awesome Linux resource monitor welcome

Click to enlarge

Using bashtop keyboardrd shortcuts

We can use the following keys to control the Linux/Unix process and other operations of the bashtop application as per our needs.

Shortcode description
Esc, M, m Shows main menu.
F2, O, o Shows options.
F1, H, h Shows this window.
Ctrl-C, Q, q Quits program.
+, A, a -, S, s Add/Subtract 100ms to/from update timer.
Up Down Select in process list.
Enter Show detailed information for selected process.
Pg Up Pg Down Jump 1 page in process list.
Home End Jump to first or last page in process list.
Left Right Select previous/next sorting column.
b, B n, N Select previous/next network device.
E, e Toggle processes tree view
R, r Reverse sorting order in processes box.
F, f Input a string to filter processes with.
C, c Clear any entered filter.
Selected T, t Terminate selected process with SIGTERM – 15.
Selected K, k Kill selected process with SIGKILL – 9.
Selected I, i Interrupt selected process with SIGINT – 2.

Related: 30 Linux System Monitoring Tools Every SysAdmin Should Know

Conclusion

Overall, Bashtop is an excellent tool for desktop or laptop users, but I won’t install it on my servers due to increased requirements, and the majority of my server workload runs inside Docker. It is also slow as compare to top and htop. Would you install it? What other tools do you use daily on your Linux and Unix desktop? Let us know in the comment section below.

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source & DevOps topics via:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig 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 jobs killall kill pidof pstree pwdx time
Searchinggrep 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

ADVERTISEMENTS
2 comments… add one

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.