14 Best Linux System Monitoring Tools [GUI+CLI]

Whether you are a Linux enthusiast or a system administrator, we all share a common concern about what’s happening under the hood of our Linux system/server.

In this blog, we will explore a selection of both GUI and CLI tools that will help you monitor your system’s resources, performance, and health.

Without any further ado, let’s delve into the discussion about these system monitoring tools for your Linux system one by one.

Linux GUI System Monitoring Tools

These are some of the best GUI system monitoring tools for you if you are more of a GUI fan than CLI.

1. Default GNOME System Monitor

Why not begin our list of the best system monitoring tools with the GNOME System Monitor tool? It comes pre-installed on Ubuntu and many other Linux distros running the GNOME Desktop! It is a clean, simple, open-source tool that provides a high-level overview of your system’s performance.

The GNOME System Monitor tool not only aids its users in viewing but also controls the running processes. Additionally, it uses graphs and tables to display information about the usage of the system’s resources, including processor time, memory, disk space, CPU allocation, and more.

GNOME System Monitor
GNOME System Monitor

Key Features of GNOME System Monitor:

  • Allow users to monitor, manage, and even terminate running processes.c
  • A lightweight tool that consumes fewer system resources.
  • Users can even sort processes and view individual process details.
  • It offers a sneak peek into detailed information about your system’s hardware and software.
  • It offers a real-time alert when specific resource thresholds are reached.
  • Display the download and upload speed of the network.
  • It even allows its users to save and load system monitor reports.
  • It offers a UI categorized into different tabs, such as the Resources tab, Processes tab, and File Systems tab, to switch between distinct aspects of system monitoring.

While the GNOME System Monitor tool typically comes pre-installed, if it’s not available, you can easily install it using your system package manager as shown:

sudo apt install gnome-system-monitor         [On Debian, Ubuntu and Mint]
sudo yum install gnome-system-monitor         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/gnome-system-monitor  [On Gentoo Linux]
sudo apk add gnome-system-monitor             [On Alpine Linux]
sudo pacman -S gnome-system-monitor           [On Arch Linux]
sudo zypper install gnome-system-monitor      [On OpenSUSE]    

2. Resources

Moving onwards with the list, let’s not miss the latest GUI system monitoring tool which is known as “Resources” (popularly known as “Rust-based Resources”), which is a simple, modern yet powerful and versatile tool that offers a graphical overview of your system’s CPU, memory, GPUs, and disk usage.

Additionally, users can also list and terminate running processes as well as graphical applications. It is developed in Rust programming language and relies on GTK 4 and libadwaita for its GUI.

Resources Monitoring Tool
Resources Monitoring Tool

Key Features of Resources:

  • Users can view sortable and searchable lists of running applications and processes.
  • Users can customize the appearance of the Resources window.
  • It is developed in Rust which is a relatively modern language best known for its high performance.
  • Additionally, you can monitor network activity, system temperature, and fan speed.
  • It offers the ability to monitor network activity, system temperature, and fan speed.
  • You can monitor the usage of core system components through real-time graphs.

Despite the above-listed features, Resources tool also offers additional features that you can enjoy by installing it on your system by executing the command mentioned below.

flatpak install flathub net.nokyan.Resources
flatpak run net.nokyan.Resources

3. Stacer

Stacer is not only a modern GUI system monitoring tool but also a Linux optimizer with an impressive user interface. It is an open-source tool that allows its users to monitor their system’s CPU, memory, disk, and network usage through interactive real-time graphs.

You can even locate a specific process and sort running processes using their PIDs (Process IDs).

Stacer - Linux System Optimizer & Monitoring
Stacer – Linux System Optimizer & Monitoring

Apart from system monitoring functionalities, Stacer offers optimization features, including startup App management, system cleaning, service management, and package repository management.

To install Stacer in your Linux system, execute the following command.

sudo apt install stacer         [On Debian, Ubuntu and Mint]
sudo yum install stacer         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/stacer  [On Gentoo Linux]
sudo apk add stacer             [On Alpine Linux]
sudo pacman -S stacer           [On Arch Linux]
sudo zypper install stacer      [On OpenSUSE]    

Linux CLI System Monitoring Tools

If you are like me and the majority of other Linux users who love to use the CLI over GUI, let’s explore some of the best CLI system monitoring tools.

However, before we begin this list, we should discuss a fundamental Linux command known as the “top” command because most of the tools we are going to discuss rely on the “top” command for their core functionality.

The top command displays all currently running processes on your system.

top
Linux top Command
Linux top Command

This section explores a selection of CLI system monitoring tools for Linux, demonstrating their utility and how to install and use them effectively.

4. Htop

Htop is an interactive text-based process viewer that supports Linux and other Unix-like operating systems. It is a more advanced alternative to the top command that offers additional features for monitoring system resources and managing processes.

htop - Interactive Process Viewer
htop – Interactive Process Viewer

Key Features of Htop:

  • Ability to sort and filter processes.
  • Real-time monitoring of the system’s resource usage, such as CPU, memory, swap, disk, and more.
  • Ability to prioritize processes and even terminate the running processes.
  • Allows users to scroll in both horizontal and vertical directions to view the list of processes and the full command line.
  • Customizable appearance.
  • Supports both keyboard and mouse interaction.

To enjoy the htop utility on your Ubuntu, you can install it by running the following command.

sudo apt install htop         [On Debian, Ubuntu and Mint]
sudo yum install htop         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/htop  [On Gentoo Linux]
sudo apk add htop             [On Alpine Linux]
sudo pacman -S htop           [On Arch Linux]
sudo zypper install htop      [On OpenSUSE]    

5. Glances

Glances is a cross-platform system monitoring tool that helps monitor all aspects of a system. It is a free, curses-based command-line tool that supports multiple monitoring modes, including standalone, client/server, and web server modes.

Glances - System Monitoring Tool
Glances – System Monitoring Tool

Many server administrators prefer Glances over alternatives like htop or top because of these reasons:

  • Offers a web interface and an API to remotely monitor systems.
  • Highly customizable.
  • Ability to monitor fan speed and hardware temperature.
  • Automatically adjusts its output depending on terminal size to enhance the user experience.
  • Ability to export the system’s statistical data to various formats, like CSV, XML, or JSON.

You can enjoy htop powerful tool on your Linux by executing the command stated below:

sudo apt install glances         [On Debian, Ubuntu and Mint]
sudo yum install glances         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/glances  [On Gentoo Linux]
sudo apk add glances             [On Alpine Linux]
sudo pacman -S glances           [On Arch Linux]
sudo zypper install glances      [On OpenSUSE]    

6. BashTop

BashTop is a simple, lightweight, and easy-to-use CLI system monitoring tool that returns an attractive GUI-like output. It is a variant of top command that can easily be considered the best among its peers, despite having a relatively slower speed than top and htop.

It offers numerous useful features, including monitoring resource usage, search and management of processes, a tree view of processes, and the ability to send SIGKILL, SIGTERM, and SIGINT signals to selected processes.

bashtop - Linux Resource Monitor
bashtop – Linux Resource Monitor

To install bashtop on Linux, run:

sudo apt install bashtop         [On Debian, Ubuntu and Mint]
sudo yum install bashtop         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/bashtop  [On Gentoo Linux]
sudo apk add bashtop             [On Alpine Linux]
sudo pacman -S bashtop           [On Arch Linux]
sudo zypper install bashtop      [On OpenSUSE]    

7. Gotop

Gotop is a flashy terminal-based graphical activity monitor developed using the Go language. It was inspired by other utilities like gtop and vtop, which are themselves variants of the top command.

gotop - Linux Activity Monitor
gotop – Linux Activity Monitor

Gotop tool offers a ton of customization options and supports both Linux and macOS platforms. Additionally, it enables users to monitor their CPU usage, network usage, process list, CPU temperature, and disk usage.

To install gotop on Linux, run:

sudo snap install gotop

8. atop

atop is a powerful full-screen performance monitor tool for Linux that aids users in monitoring system resources and processes in an interactive manner. It is an ASCII-based tool that displays the resource consumption of all processes. Furthermore, it even indicates which processes are responsible for the indicated load.

atop - Linux Performance Monitor
atop – Linux Performance Monitor

The atop has the ability to send alerts when specific system thresholds are exceeded. Additionally, it’s worth noting it’s one of the few system monitoring tools that can log historical data.

To install atop in your Linux system run the command mentioned below:

sudo apt install atop         [On Debian, Ubuntu and Mint]
sudo yum install atop         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/atop  [On Gentoo Linux]
sudo apk add atop             [On Alpine Linux]
sudo pacman -S atop           [On Arch Linux]
sudo zypper install atop      [On OpenSUSE]    

9. nmon

Nmon (abbreviation for “Ngel’s performance Monitor”) is a powerful system monitoring tool originally developed by IBM for the AIX OS but now also supports Linux.

It enables its users to monitor the usage stats of CPU, memory, disk space, network, top processes, resources, virtual machine, power micro-partition, and other aspects of your Linux system in a single, concise view.

Nmon - Linux Monitoring Application
Nmon – Linux Monitoring Application

Nmon for Linux is an open-source tool that consists of a single code file containing 5000 lines and a makefile. This tool offers two runtime modes:

  • Online Mode – It utilizes curses that aid in real-time monitoring and displaying stats in a condensed format.
  • Capture Mode – It stores data in a CSV file for later processing and graphing.

To install Nmon in your Linux system run the command mentioned below:

sudo apt install nmon         [On Debian, Ubuntu and Mint]
sudo yum install nmon         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/nmon  [On Gentoo Linux]
sudo apk add nmon             [On Alpine Linux]
sudo pacman -S nmon           [On Arch Linux]
sudo zypper install nmon      [On OpenSUSE]    

10. vtop

vtop is a fancy interactive open-source system monitoring tool written in Node.js. Despite managing the system’s resource usage, it is specifically designed to monitor CPU usage in multithreaded applications.

vtop uses Unicode braille to display fancy graphs of CPU and memory usage. Furthermore, it supports mouse and various themes like brew, gooey, monokai, parallax, wizard, and more. By using these themes, you can easily customize the appearance of your tool and even disable mouse support according to your preference.

vtop - Linux Activity Monitor
vtop – Linux Activity Monitor

To install vtop on your Linux system, you must have Node and NPM packages. After installing both of these packages, run the command stated below to install vtop.

sudo npm install -g vtop

11. gtop

Gtop is a more user-friendly alternative to traditional command-line system monitoring tools, such as top and htop. It is an open-source, powerful tool that helps in monitoring system resources, including processes, sensors, disk I/O, network traffic, CPU, and memory usage, through an interactive dashboard.

Gtop - Linux Monitoring Dashboard
Gtop – Linux Monitoring Dashboard

gtop is developed in Node.js, so you need to have Node and NPM installed before installing this tool using the following command.

sudo npm install -g gtop

12. bpytop

bpytop is derived from bashtop and has been rewritten in the Python language with additional features.

Let’s jot down some of the features that are offered by bpytop:

  • Full mouse support to interact with the tool.
  • Supports a mini mode to display a condensed version of results.
  • More frequent updates than bashtop.
  • Support Linux and macOS.
  • Offers a built-in help system.
  • Advanced charting and monitoring.
  • Supports multiple languages.
  • Improved performance.
  • Responsive UI.
bpytop - Linux Resource Monitor
bpytop – Linux Resource Monitor

bpytop tool will allow you to monitor and manage your system’s resource usage and even help you in sending signals like SIGKILL to specified processes.

To install it in your system, ensure that your system contains “pip3”. After that, you can run the command given below to install and enjoy bpytop:

sudo pip3 install bpytop

13. btop

btop is a continuation of the bashtop and bpytop system monitoring tools and is developed in C++. It is an open-source, powerful tool with a game-inspired modern interface for its menu.

It offers all the features that were offered by both its predecessors. However, let’s list some of the additional features this tool contains to offer its users:

  • Enable GPU usage monitoring.
  • Support for more sensors like Hardware temperature.
  • More comprehensive process information.
  • Powerful sorting and filtering options for processes.
  • Highly customizable interface.
btop - Linux Resources Monitor
btop – Linux Resources Monitor

To install btop on your Linux, simply execute the command mentioned below:

sudo snap install btop

14. Bottom

bottom is a customizable cross-platform graphical process/system visualization and management tool for the Linux terminal that is inspired by other tools like gtop, gotop, and htop.

bottom - Linux System Monitor Tool
bottom – Linux System Monitor Tool

To install bottom on your Linux, simply execute the command mentioned below:

sudo snap install bottom
Conclusion

Deciding which is the best system monitoring tool for your system is entirely a matter of personal choice. If you want a simple tool, you can opt for GNOME System Monitor, but if you wish to use a powerful tool with rich features, use htop or glances.

You can even choose any other of the above-listed tools, as each of them offers unique features.

I am an experienced GNU/Linux expert and a full-stack software developer with over a decade in the field of Linux and Open Source technologies.

Each tutorial at GeeksMint is created by a team of experienced writers so that it meets our high-quality writing standards.

1 thought on “14 Best Linux System Monitoring Tools [GUI+CLI]”

Got Something to Say? Join the Discussion...