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 performance of Linux systems, but we think that, most users prefer the default one that comes with every Linux distributions (top command).

The top command is 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 system which help us to take corrective actions. It has a nice minimalist interface, comes with few amount of reasonable options that enables us to get a better idea about overall system performance quickly.

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

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

What is Glances?

Glances is a cross-platform command-line curses-based system monitoring tool written in Python language which use the psutil library to grab informations from the system. With Glance, we can monitor CPU, Load Average, Memory, Network Interfaces, Disk I/O, Processes and File System spaces utilization.

Glances is a free tool and licensed under GPL to monitory 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 configuration file and informations will be shown in colors which indicates the bottleneck in the system.

Glances Features

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

Here is an example screen grab of Glances.

Install Glances Monitoring in Centos

Glances View

Installation of Glances in Linux/Unix Systems

Although it’s a very young utility, you can install “Glances” in Red Hat based systems by turning on EPEL repository and then run the following command on the terminal.

On RHEL/CentOS/Fedora
# yum install -y glances
On Debian/Ubuntu/Linux Mint
$ sudo apt-add-repository ppa:arnaud-hartmann/glances-stable
$ sudo apt-get update
$ sudo apt-get install glances

Usage of Glances

To start, issue the basic syntax on the terminal.

# glances
Install Glances in Ubuntu

Glances Preview – Ubuntu 13.10

Press ‘q‘ or (‘ESC‘ or ‘Ctrl&C‘ also works) to quit from Glances terminal. Here, is the another screen grab taken from the CentOS 6.5 system.

Glances Monitoring Linux

Glances Preview – CentOS 6.5

By default, interval time is set to ‘1‘ second. But you can define the custom interval time while running glances from the terminal.

# glances -t 2
Glances Color Codes

Meaning of Glances color code:

  1. GREEN: OK (everything is fine)
  2. BLUE: CAREFUL (need attention)
  3. VIOLET: WARNING (alert)
  4. RED: CRITICAL (critical)

We can set thresholds in configuration file. By default thresholds set is (careful=50, warning=70 and critical=90), we can customized as per our needs. The default configuration file is located at ‘/etc/glances/glances.conf’.

Glances Options

Besides, several command line options, glances provides many more hot keys to find output information while glances is running. Below are the list of several hot keys.

  1. a – Sort processes automatically
  2. c – Sort processes by CPU%
  3. m – Sort processes by MEM%
  4. p – Sort processes by name
  5. i – Sort processes by I/O rate
  6. d – Show/hide disk I/O stats ols
  7. f – Show/hide file system statshddtemp
  8. n – Show/hide network stats
  9. s – Show/hide sensors stats
  10. y – Show/hide hddtemp stats
  11. l – Show/hide logs
  12. b – Bytes or bits for network I/Oools
  13. w – Delete warning logs
  14. x – Delete warning and critical logs
  15. x – Delete warning and critical logs
  16. 1 – Global CPU or per-CPU stats
  17. h – Show/hide this help screen
  18. t – View network I/O as combination
  19. u – View cumulative network I/O
  20. q – Quit (Esc and Ctrl-C also work)

Use Glances on Remote Systems

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

# glances -s

Define the password for the Glances server
Password: 
Password (confirm): 
Glances server is running on 0.0.0.0:61209

Note : Once, you issue ‘glances‘ command, it will prompt you to define the password for the Glances server. Define the password and hit enter, you see glances running on port 61209.

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

# glances -c -P 172.16.27.56

Below are few notable points that user 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.
* 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 to the server -P password.

Read Also: Use Glances to Monitor Remote Linux in Web Server Mode

Conclusion

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

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Ravi Saive

I am Ravi Saive, creator of TecMint. A Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. Follow Me: Twitter, Facebook and Google+

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

21 Responses

  1. SE says:

    Can you use glances to monitor multiple servers at once or even a cluster?

  2. Sergi says:

    [email protected]:~$ 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.
    [email protected]:~$

    • Ravi Saive says:

      @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
      
  3. Rocket says:

    ya um # glances in the terminal does absolutely nothing after installing. (Linux mint 17.3 )

  4. Land0 says:

    Also I can confirm glances is available in the repos for Debian 8!

  5. Land0 says:

    Thank, thank you, thank you Ravi! May the god of servers bless you, and your CPU’s! :D

  6. John Tarin says:

    “glances” is available for installation in Synaptic Linux Mint 17.2….no need for ppa.

  7. converge says:

    That’s a very nice tool ! I was using Monitorix but it doesn’t provide real time monitor. Thanks !

  8. loong says:

    do you know the “glance” tool in HP-UX? http://nicelife.me

  9. zahoor says:

    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

  10. Ramos says:

    Hello,

    Nice useful tool.

Leave a Reply to Rocket Cancel reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.