Glances – An Advanced Real Time System Monitoring Tool for Linux

Earlier, we’ve written about many Linux System Monitor Tools that can be used to monitor the performance of Linux systems, but we think that most users prefer the default one that comes with every Linux distribution i.e. top command (real-time monitoring of system processes).

The top command is the real-time task manager in Linux and the most frequently used system monitoring tool in GNU/Linux distributions to find the performance-related bottlenecks in the system which help us to take corrective actions.

It has a nice minimalist interface and comes with a few amount of reasonable options that enable us to get real-time monitoring of system processes such as CPU usage, memory usage, and other critical system information.

However, sometimes it is very tricky to find an application/process that consumes lots of system resources is a bit difficult under the top. Because the top command doesn’t have the ability to highlight programs that are eating too much CPU, RAM, and other resources.

For keeping such an approach, here we are bringing a powerful system monitor program called “Glances” that automatically highlights programs that are utilizing the highest system resources and providing maximum information about Linux/Unix servers.

What is Glances?

Glances is a cross-platform command-line curses-based system monitoring tool written in Python language which uses the psutil library to grab information from the system.

With Glances, we can monitor CPU, Load Average, Memory, Network Interfaces, Disk I/O, Processes, and File System space utilization.

Glances is a free tool and licensed under GPL to monitor GNU/Linux and FreeBSD operating systems. There are lots of interesting options available in Glances as well.

One of the main features we have seen in Glances is that we can set thresholds (careful, warning, and critical) in the configuration file and information will be shown in colors which indicates the bottleneck in the system.

Glances Features

  • CPU Information (user-related applications, system core programs, and idle programs.
  • Total memory Information including RAM, Swap, Free memory, etc.
  • The average CPU load for the past 1min, 5mins, and 15 mins.
  • Network Download/Upload rates of network connections.
  • A total number of processes, active ones, sleeping processes, etc.
  • Disk I/O related (read or write) speed details
  • Currently mounted devices disk usages.
  • Top processes with their CPU/Memory usages, Names, and location of the application.
  • Shows the current date and time at the bottom.
  • Highlights processes in Red that consumes the highest system resources.

Here is an example screen grab of Glances.

Glances - Linux Monitoring Tool
Glances – Linux Monitoring Tool

Install Glances in Linux Systems

Although it’s a very young utility, you can install “Glances” in RedHat-based systems by turning on the EPEL repository and then running the following yum commands on the terminal.

Install Glances in RHEL Systems

# yum install -y epel-release
# yum install -y glances

Install Glances in Debian Systems

You can use the apt command to install Glances on Debian-based distributions as shown.

$ apt install glances

On other Linux distributions, you can install glances using the default package manager as shown.

$ 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]    

Monitor Linux Performance with Glances

To start monitoring the performance of your running Linux system, issue the following command on the terminal.

# glances
Glances - Monitor Linux Peformance
Glances – Monitor Linux Performance

To stop Glances, you can press ‘q‘ or (‘ESC‘ or ‘Ctrl&C‘) in the terminal where Glances is running.

Run Glances in Web Server Mode

To run Glances in Web server mode, you need to add -w option to remotely monitor the system’s performance and resource usage through a user-friendly web interface.

# glances -w

Once Glances is running in Web server mode, it will provide you with the following URL to access the web interface.

http://localhost:61208
Monitor Linux from Web Browser
Monitor Linux from Web Browser

Besides, several command line options, glances provide many more hot keys to find output information while glances is running.

Glances Usage and Options

Below are the list of several hotkeys.

  • a – Sort processes automatically
  • c – Sort processes by CPU%
  • m – Sort processes by MEM%
  • p – Sort processes by name
  • i – Sort processes by I/O rate
  • d – Show/hide disk I/O stats
  • f – Show/hide file system statshddtemp
  • n – Show/hide network stats
  • s – Show/hide sensors stats
  • y – Show/hide hddtemp stats
  • l – Show/hide logs
  • b – Bytes or bits for network I/Oools
  • w – Delete warning logs
  • x – Delete warning and critical logs
  • x – Delete warning and critical logs
  • 1 – Global CPU or per-CPU stats
  • h – Show/hide this help screen
  • t – View network I/O as a combination
  • u – View cumulative network I/O
  • q – Quit (Esc and Ctrl-C also work)

Monitor Remote Linux Performance with Glances

With the Glances, you can even monitor remote systems too. To use ‘glances‘ on remote systems, run the ‘glances -s‘, which enables server/client mode on the server.

# glances -s

Glances XML-RPC server is running on 0.0.0.0:61209

Now, go to the remote host and execute the following command to connect to a Glances server by specifying IP address or hostname and port number as shown below. Here ‘192.168.0.162‘ is my glances server IP Address.

# glances -c 192.168.0.162:61209

Below are a few notable points that users must know while using glances in server/client mode.

  • In server mode, you can set the bind address -B ADDRESS and listening TCP port -p PORT.
  • In client mode, you can set the TCP port of the server -p PORT.
  • The default binding address is 0.0.0.0, but it listens on all network interfaces at port 61209.
  • In server/client mode, limits are set by the server side.
  • You can also define a password to access the server -P password.
Conclusion

Glances is a much resources friendly tool for most users. But if you’re a system administrator who’d like to quickly get an overall “idea” about systems by just glancing at the command line, then this tool will be a must-have tool for system administrators.

Ravi Saive
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 TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

22 thoughts on “Glances – An Advanced Real Time System Monitoring Tool for Linux”

  1. Glances is available now in Ubuntu 18.04 repo; about 27 other (small) Python pieces for dependencies on my Lubuntu netbook, everyone’s says may be a little different. Cool tool!

    Reply
  2. PPA not found:

    Cannot add PPA: ‘ppa:~arnaud-hartmann/ubuntu/glances-stable’.
    The user named ‘~arnaud-hartmann’ has no PPA named ‘ubuntu/glances-stable’
    Please choose from the following available PPAs:
    You have new mail.

    pip works though, please install with:
    sudo pip install glances

    Reply
    • @Kiri,

      I think this PPA doesn’t support latest version of Ubuntu or Linux Mint, however, you can install Glances from the default repositories with apt as shown:

      $ sudo apt-get install glances
      
      Reply
  3. Hii Ravi you are right in case we want to check the cpu intensive process the glance command will show the critical option but if we use dual quad core processor then we can bind the process to core by taskset command..and else we use pidstat command..reply

    Reply
    • @Awais,

      No doubt that top command is all time best monitoring tool for Linux, but glances provides some fancy look with some more features..that’s it nothing extra..

      Reply
  4. sergi@SolvekServer:~$ sudo apt-add-repository ppa:arnaud-hartmann/glances-stable
    [sudo] password for sergi:
    Cannot add PPA: ‘ppa:arnaud-hartmann/glances-stable’.
    Please check that the PPA name or format is correct.
    sergi@SolvekServer:~$

    Reply
    • @Sergi,

      On older versions the PPA method is no longer available, because Glances in now added to default repositories, you can install it using apt-get or pip command as shown.

      $ sudo apt-get update
      $ sudo apt-get install glances
      
      OR 
      
      $ sudo apt-get install python-pip build-essential python-dev
      $ sudo pip install Glances
      
      Reply
  5. I am getting this error

    Traceback (most recent call last):
    File “/usr/bin/glances”, line 9, in
    load_entry_point(‘Glances==1.7.3’, ‘console_scripts’, ‘glances’)()
    File “/usr/lib/python2.6/site-packages/pkg_resources.py”, line 299, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
    File “/usr/lib/python2.6/site-packages/pkg_resources.py”, line 2229, in load_entry_point
    return ep.load()
    File “/usr/lib/python2.6/site-packages/pkg_resources.py”, line 1948, in load
    entry = __import__(self.module_name, globals(),globals(), [‘__name__’])
    File “/usr/lib/python2.6/site-packages/glances/glances.py”, line 180, in
    locale.setlocale(locale.LC_ALL, ”)
    File “/usr/lib64/python2.6/locale.py”, line 513, in setlocale
    return _setlocale(category, locale)
    locale.Error: unsupported locale setting

    Reply

Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.