Best Tools to Monitor Network Bandwidth on a Linux Server


Monitoring network performance is important for preventing malfunctions and ensuring quality. Such a practice tells you whether your network is running slow and what may be the cause of such an issue. This is done by monitoring your network bandwidth usage.

There are many different tools for monitoring network traffic on a Linux server. Each option has its strengths and weaknesses. Most of the command-line utilities are designed to be lightweight and easy to use. Some are designed to present a basic overview, while others provide detailed data.

This guide compares the best Linux network monitoring tools.

9 tools to monitor network bandwidth in linux


  • Access to a user account with sudo or root privileges
  • For CentOS and RHEL Linux, the EPEL (Extra Packages for Enterprise Linux) repositories must be available.
  • A package manager tool (yum or apt)
  • A terminal window/command line (Ctrl-Alt-T, Ctrl-Alt-F2)

9 Best Network Monitoring Tools For Linux

If you are looking for a quick display of network bandwidth, a command-line monitoring tool will do the job. If you need a detailed graph of usage for the month, graphical options may provide a better solution.

Overall usage reports can help determine bandwidth requirements, while more detailed process-level reports can help identify the source of high bandwidth usage.

Real-time reporting can alert you to usage spikes or unusual patterns when they occur.

Before You Start, Install EPEL

CentOS users first need to install the EPEL software.

For RHEL and CentOS 7.x:

1. Open a terminal window, and enter the following:

sudo yum –y install epel-release

2. Refresh the repositories:

yum repolist

Note: Read about the main differences and similarities between CentOS and Ubuntu in our article CentOS vs Ubuntu.

Command-Line Network Monitoring on Linux

Linux servers are often configured without a graphical interface to save system resources. These applications can run and display from a command line.

iftop Display Bandwidth Usage

If you are familiar with the top command for monitoring processor usage, you will find the iftop command very similar. iftop provides a real-time display of bandwidth usage by individual connection. It also generates an overview of the amount of bandwidth being used.

One limitation in iftop is that it does not track traffic by process ID (PID).

To install iftop:


yum install iftop -y

Debian / Ubuntu

sudo apt-get install iftop
iftop command with real-time bandwidth usage by connection

nload Displays Network Usage

nload is a command-line utility to monitor network traffic. This tool only reports in-traffic and out-traffic. It displays a graph, which is helpful for a quick overview of network traffic. However, nload has a disadvantage as it does not display traffic by PID or by socket.

To install nload:


yum –y install nload

Debian / Ubuntu

sudo apt-get install nload
network usage stats

NetHogs Monitor Network Traffic Bandwidth

NetHogs generates real-time reports of network usage. One advantage of NetHogs is that it sorts by process/application and usage. This makes it a good utility for tracking bandwidth spikes (if you can launch it in time).

To install NetHogs:


yum –y install nethogs

Debian / Ubuntu

sudo apt-get install nethogs
tracking bandwidth spikes with nethogs

bmon Bandwidth Monitor and Rate Estimator

bmon monitors bandwidth utilization, along with keeping a running rate estimate. It breaks out usage by device, allowing you to track bandwidth across multiple network adapters. Another positive feature is that it creates a graph, which lets you see bandwidth usage at a glance.

To install bmon:


yum –y install bmon

Debian / Ubuntu

sudo apt-get install bmon
estimated bandwidth interface

vnStat Network Traffic Monitor

VnStat works by running a daemon that captures and records bandwidth data. It reads from the kernel to stay light on resource usage. It can run in real-time by using the –l option. The real value lies in persistent records. As the daemon runs, it collects and stores bandwidth usage data.

The vnstati command can be used to display usage statistics. VnStat is best suited for statistical reporting.

To install vnStat:


yum –y install vnstat

Debian / Ubuntu

sudo apt-get install vnstat
output from vmstat traffic monitor for networks

iPerf/iPerf3 Network Bandwidth Measurement Tool

iPerf is for monitoring bandwidth by protocol, such as TCP and UDP.

This tool is best for tweaking and maximizing network performance for a particular protocol. One limitation is that it requires both a server and a client to test.

To install iPerf:

RHEL / CentOS:

yum –y install iperf3

Debian / Ubuntu:

sudo apt-get install iperf3

Note: iPerf/iPerf3, nload and iftop are also great command line tools to test your network speed. To learn more about other options, check out our article How To Test Network Speed In Linux Via CLI.

Graphical Bandwidth Monitoring Tools

The following tools are more graphical in their interface and display. Many of them offer a more robust suite of monitoring than the more simple command-line tools.

Nagios Core Monitors Systems, Networks and Infrastructure

Nagios has been a trusted open-source bandwidth monitoring tool for almost 20 years.

The interface runs through a web browser and offers multiple monitoring vectors. It can monitor across multiple network services, such as HTTP, POP3, and SMTP. It also has the ability to send notifications, such as when a problem occurs, or when an issue is resolved.

Nagios Core is a free open-source application. A paid, supported version is also available.

Nagios Core open-source version 4

Zabbix Application and Network Monitoring Tool

Zabbix is a free open-source bandwidth monitoring application.

It runs in PHP in a web browser. Zabbix aims to simplify network monitoring, and it includes device and application monitoring. It generates data logs, which can be used to track and improve performance, and it can quickly scale between large and small applications. One advantage to Zabbox is that it can be used for free, even in large commercial applications.

Zabbix Application Monitoring Interface

Cacti Network Monitoring and Graphing Tool

Cacti is a network monitoring tool that uses PHP and runs in a browser window.

The core strength in Cacti is its data collection and reporting. Cacti is not just limited to network bandwidth, it can also track other metrics like user permissions and access. Cacti uses scripts to gather data and compile it into meaningful charts and graphs.

graphs on the Cacti network monitoring tool


This guide covered the top Linux system monitoring and network bandwidth tools. Experiment and compare a few options, consider your needs and the software capabilities to find one that suits you best.

Was this article helpful?
Sofija Simic
Sofija Simic is an experienced Technical Writer. Alongside her educational background in teaching and writing, she has had a lifelong passion for information technology. She is committed to unscrambling confusing IT concepts and streamlining intricate software installations.
Next you should read
How To Change Speed & Duplex of Ethernet Card in Linux with Ethtool Command
September 24, 2019

The article explains the concepts of Duplex, Speed, and Auto-Negotiation. The ethtool commands needed to ...
Read more
7 Best Website Speed and Performance Testing Tools
June 3, 2019

There are programs that answer two of the most common questions web administrators and SEO's keep asking when ...
Read more
7 Ways to Reduce Server Response Time
April 17, 2019

Reducing server response time to the bare minimum is one of the primary goals of website owners and SEO.
Read more
Single vs Dual Processor Servers, Which Is Right For You?
February 20, 2019

Learn the differences between a single processor and a dual-processor server. Make the best decision for your ...
Read more
  • © 2022 Copyright phoenixNAP | Global IT Services. All Rights Reserved.