A Faster Way to See What Your Linux System Is Actually Doing
Most Linux users eventually outgrow top. It works, but it tells a narrow story – CPU and memory, sorted by process, with no network stats, no disk I/O, no quick view of temperatures or container status. Glances fills that gap. It is a terminal-based monitoring tool that pulls together far more system data into a single, color-coded screen, and it runs on nearly any Linux machine without much configuration at all.
What makes Glances worth setting up rather than just reaching for htop is its flexibility. You can run it locally in a terminal, expose it as a web interface, query it through a REST API, or export its data to external backends like InfluxDB or Prometheus. For a home server, a Raspberry Pi, or a production machine you access over SSH, that range of options covers a lot of ground without requiring separate tools for each job.

Installing Glances on Linux
The quickest installation method is through pip, Python’s package manager, which gives you the latest version regardless of your distribution. Run pip3 install glances from a terminal with appropriate permissions. If you prefer to stay inside your package manager, most major distributions carry Glances in their repositories – on Debian or Ubuntu systems use sudo apt install glances, and on Fedora or RHEL-based systems use sudo dnf install glances. The repository version may lag slightly behind the current release, but for basic monitoring it is perfectly adequate.
For extended functionality – especially if you want network interface statistics, GPU monitoring, or Docker container data – install Glances with optional dependencies. The full command via pip is pip3 install 'glances[all]', which pulls in libraries like docker, netifaces, and py3nvml for Nvidia GPU support. You do not need all of these to get started, but having them installed means Glances will automatically surface that data when the hardware or service is present. There is no separate configuration step required to activate most of them.
Once installed, launch it by simply typing glances in your terminal. The interface loads immediately and begins refreshing on a three-second interval by default. The screen is divided into panels covering CPU usage, memory and swap, load averages, network interfaces, disk I/O, filesystem usage, running processes, and sensor temperatures if your hardware exposes them. Each panel uses color coding – green for normal, yellow for warning, and red for critical – based on thresholds you can adjust later in the configuration file.
Running Glances as a Web Server
One of Glances’ most practical features for remote machines is its built-in web server mode. Start it with glances -w and it binds to port 61208 by default, serving a browser-based dashboard that mirrors the terminal interface. From any machine on the same network you can open http://your-server-ip:61208 and get a live view without needing an SSH session or a separate monitoring application. The web interface refreshes automatically and is responsive enough to use on a phone.
To keep this running in the background after you close your session, either use a systemd service or run it inside a screen or tmux session. The cleaner approach is a systemd unit file. Create a file at /etc/systemd/system/glances.service, set the ExecStart line to your Glances binary path with the -w flag, enable it with systemctl enable glances, and start it with systemctl start glances. After that it survives reboots without any manual intervention.

Configuring Thresholds and Display Options
Glances reads from a configuration file located at ~/.config/glances/glances.conf. If that file does not exist, create it – Glances will use it automatically on next launch. The configuration file is organized into sections for each plugin, so you can independently tune the warning and critical thresholds for CPU, memory, disk, and network. For example, under the [cpu] section, setting careful=50, warning=70, and critical=90 changes when the color indicators shift from green to yellow to red.
Beyond thresholds, you can use the configuration file to hide specific network interfaces, exclude certain filesystems from disk reporting, or disable plugins you have no use for. A machine without a GPU does not need the GPU plugin consuming cycles checking for hardware that is not there. Disabling unused plugins with lines like disable=gpu under the [global] section keeps the display cleaner and the tool slightly lighter. For servers where disk space monitoring matters more than process-level CPU detail, you can also adjust the number of processes displayed to give filesystem panels more prominence.
The REST API mode, enabled with glances -s for server mode and queried over port 61234, opens up scripting possibilities. Any monitoring script or cron job can pull current system stats as JSON by hitting endpoints like /api/3/cpu or /api/3/mem. This is how Glances connects to platforms like Grafana when paired with an InfluxDB exporter – you configure the export in the config file under an [influxdb] section with your host, port, and database name, and Glances starts writing data on every refresh cycle without any additional code on your part.
If you manage more than one Linux machine, Glances also supports a client-server architecture where you run Glances in server mode on each machine and connect to all of them from a single terminal using glances -c hostname. This does not give you a unified dashboard across all machines simultaneously, but it lets you quickly check any host using the same interface and keybindings you already know. Combined with a web server running on each node, you end up with lightweight per-machine dashboards that require no database, no agent stack, and no ongoing maintenance beyond the initial setup.

The one place Glances does require some patience is Docker monitoring on systems with strict permission configurations. If the Docker socket is not accessible to the user running Glances, container stats simply will not appear – there is no error message, just a blank panel. The fix is adding your user to the docker group with sudo usermod -aG docker $USER and logging out and back in. On machines where running Glances as root is not acceptable but Docker data is still needed, this group membership step is the part that trips up new installs more than anything else in the setup process.





