System monitoring is an essential part of Linux server administration and DevOps. Before deploying a production application, it is important to understand how the server is performing and whether CPU, memory, disk, network, or individual processes are causing problems.

You don't always need a web dashboard such as Grafana to monitor a Linux server. There are several powerful command-line monitoring tools that provide real-time information directly inside your terminal.

1. btop — Beautiful and Easy

btop is one of the easiest terminal-based system monitoring tools.

It provides a graphical-style interface directly in the terminal and allows you to monitor:

  • CPU usage
  • Memory usage
  • Swap
  • Disk activity
  • Network activity
  • Running processes
  • CPU cores
  • System load

Installation

sudo apt update sudo apt install btop 

Start btop

btop 

You will get a live dashboard directly inside your terminal.

Why use btop?

btop ├── CPU ├── Memory ├── Swap ├── Disk ├── Network └── Processes 

It is an excellent choice when you want something simple, fast, and visually attractive.

2. Glances — Complete System Overview

Glances is designed to show a large amount of system information on a single screen.

It can monitor:

  • CPU
  • RAM
  • Swap
  • Disk usage
  • Disk I/O
  • Network traffic
  • Processes
  • Load average
  • System uptime
  • Docker containers
  • Sensors

Installation

sudo apt update sudo apt install glances 

Start Glances

glances 

Glances is particularly useful when you want to quickly answer:

"What is happening on this server right now?"

For example, you can quickly identify whether the server is experiencing high CPU usage, memory pressure, disk activity, or unusual processes.

3. bottom (btm) — Powerful Terminal Graphs

bottom, commonly launched using the btm command, is another powerful terminal monitoring tool.

It provides interactive graphs for system resources and processes.

Installation

Depending on your Linux distribution, you can install it through the available package manager.

For example:

sudo apt install bottom 

Then run:

btm 

It is a good alternative if you prefer a more graph-oriented terminal interface.

4. nmon — Lightweight Monitoring

nmon is a lightweight monitoring tool that has been popular among Linux administrators for many years.

It can monitor:

  • CPU
  • Memory
  • Disk
  • Network
  • Processes
  • Filesystems
  • System load

Installation

sudo apt update sudo apt install nmon 

Start

nmon 

nmon is particularly useful on servers where you want a lightweight monitoring solution with minimal overhead.

5. htop — Process Monitoring

htop is one of the most popular Linux process-monitoring tools.

Install it with:

sudo apt install htop 

Then:

htop 

Unlike btop and Glances, htop is primarily focused on process management.

You can see:

  • Running processes
  • CPU usage
  • Memory usage
  • Process IDs
  • Users
  • Process priority
  • Process tree

You can also search, sort, and kill processes directly from the interface.

Comparison

Tool Rating Best For
btop ⭐⭐⭐⭐⭐ Beautiful and easy terminal monitoring
Glances ⭐⭐⭐⭐⭐ Monitoring many metrics in one screen
bottom (btm) ⭐⭐⭐⭐⭐ Powerful terminal graphs
nmon ⭐⭐⭐⭐ Lightweight system monitoring
htop ⭐⭐⭐ Mainly process monitoring

Which One Should You Use?

There isn't one tool that is best for every situation.

For beginners

Use:

btop 

It is easy to understand and provides a very good visual overview.

For DevOps and server administration

Use:

glances 

It provides a broader overview of the server and is useful when troubleshooting resource problems.

For detailed terminal graphs

Use:

btm 

For process management

Use:

htop 

For lightweight monitoring

Use:

nmon 

Useful Linux Monitoring Commands

You don't always need a monitoring application. Linux already provides many useful commands.

CPU

top 

or:

lscpu 

Memory

free -h 

Disk space

df -h 

Disk usage

du -sh * 

Network interfaces

ip -br a 

Running processes

ps aux 

System load and uptime

uptime 

Open network connections

ss -tulpn 

A Practical DevOps Workflow

When troubleshooting a Linux server, I usually recommend starting with:

btop 

If something looks abnormal, investigate further:

free -h df -h uptime ps aux ss -tulpn 

For example, if btop shows that RAM usage is very high, run:

free -h 

Then identify which processes are consuming memory:

ps aux --sort=-%mem | head 

If CPU usage is high:

ps aux --sort=-%cpu | head 

For disk space:

df -h 

This combination gives you a simple but powerful troubleshooting workflow.

Final Recommendation

For a modern Linux/DevOps environment, I would keep these three tools installed:

sudo apt install btop glances htop 

Then use them according to the situation:

btop → Daily system monitoring Glances → Complete server overview htop → Process investigation 

For a single Linux server, these tools are often enough for quick real-time troubleshooting directly from the terminal.

For monitoring many production servers over time, however, you should move to a proper observability stack such as Prometheus + Grafana + Loki, where you can collect historical metrics, logs, dashboards, and alerts.