Operations 5 min read

Essential Linux Network Monitoring Tools for Production Environments

This guide introduces five open‑source Linux utilities—NetHogs, nload, CBM, iftop, and iPerf—explaining their focus, usage commands, and how they help monitor process‑level bandwidth, interface traffic, and overall network performance in production settings.

Efficient Ops
Efficient Ops
Efficient Ops
Essential Linux Network Monitoring Tools for Production Environments

1. NetHogs (process‑level)

NetHogs is a simple open‑source terminal utility that groups bandwidth usage by process rather than by protocol or subnet, making it useful for identifying the PID of a hanging program or seeing which processes consume bandwidth. It relies on

/proc

, so it works only on Linux.

Run it with:

<code>sudo nethogs</code>

You can specify a network device (e.g.,

sudo nethogs eth0

) and use options such as refresh rate (

-d

), version (

-V

), or trace mode (

-t

). See the manual page for more details.

2. nload (interface‑level)

nload is an open‑source console application that provides real‑time monitoring of network traffic and bandwidth usage. It visualizes incoming and outgoing traffic with charts and shows additional information such as total transferred data and minimum/maximum usage.

3. CBM (interface‑level)

CBM is a very lightweight tool that displays colored network traffic for all connected interfaces in a concise manner.

Run it simply with:

<code>cbm</code>

The output appears at the bottom of the terminal for easy control.

4. iftop (host‑level)

iftop is a free open‑source command‑line monitoring tool that lists network connections between hosts, updating frequently. Connections can be sorted by various parameters, but by default they are ordered by bandwidth usage, showing the top bandwidth consumers.

5. iPerf (performance testing)

iPerf is a tool for measuring and tuning network performance, providing standardized metrics. It has client and server modes and can generate traffic to measure bandwidth, loss, and other parameters in one or both directions. Two implementations exist: the original iPerf (iPerf2) and the non‑backward‑compatible iPerf3.

Note: For all examples, if you use iPerf3, simply replace iperf with iperf3 .

Running iPerf requires at least two machines: one as client, one as server. Start the server with:

<code>iperf -s</code>

This opens a listening port (default 5001). Connect from another machine with:

<code>iperf -c server_address</code>

Replace

server_address

with the server’s IP or hostname (e.g.,

ping.online.net

). iPerf offers many options; consult the manual pages (

man iperf

or

man iperf3

) for details.

operationsLinuxnetwork monitoringnethogsiperf
Efficient Ops
Written by

Efficient Ops

This public account is maintained by Xiaotianguo and friends, regularly publishing widely-read original technical articles. We focus on operations transformation and accompany you throughout your operations career, growing together happily.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.