Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9 in Easy Steps
This tutorial is designed to guide you through the process of installing bmon Real-Time Bandwidth Monitor on AlmaLinux 9. bmon is a valuable, open-source command-line utility for monitoring and debugging network bandwidth usage on your system. Its real-time display of network statistics makes it an indispensable tool for system administrators and network engineers.
You can leverage this guide on the Orcacore website to seamlessly install the latest version of bmon on your AlmaLinux 9 server and begin monitoring your network bandwidth effectively.
Before you begin to Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9, ensure you have access to your server as a non-root user with sudo privileges. If you haven’t already configured this, you can follow the instructions in the Orcacore guide on Initial Server Setup with AlmaLinux 9.
Now, let’s dive into the steps required to Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9.
Step 1 – Build and Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9 From Source
First, update your system’s package lists to ensure you have the latest versions of all installed software. Execute the following command:
sudo dnf update -y
Next, install the EPEL (Extra Packages for Enterprise Linux) repository. This repository contains many additional packages that are not available in the default AlmaLinux repositories:
sudo dnf install epel-release -y
Now, install the necessary packages required to build bmon from source on your AlmaLinux server:
sudo dnf install make libconfuse-devel libnl3-devel ncurses-devel git autoconf automake gcc -y
Clone the bmon source code from its GitHub repository:
sudo git clone https://github.com/tgraf/bmon.git
**Output**
Cloning into 'bmon'...
remote: Enumerating objects: 706, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 706 (delta 0), reused 1 (delta 0), pack-reused 703
Receiving objects: 100% (706/706), 860.74 KiB | 3.77 MiB/s, done.
Resolving deltas: 100% (395/395), done.
Once the download is complete, navigate to the newly created bmon
directory:
cd bmon
Finally, build and install the bmon Real-Time Bandwidth Monitor using the following commands:
# sudo ./autogen.sh
# sudo ./configure
# sudo make
# sudo make install
Step 2 – Run bmon to Check Real-Time Bandwidth Usage on AlmaLinux 9
With the installation complete, you can now run bmon to monitor your server’s live bandwidth usage:
bmon
You should see a display similar to the following:

Step 3 – How To Use bmon Bandwidth Monitoring Tool?
To access a quick reference guide within bmon, press Shift + ? in your terminal. This will display the available commands and options:

By default, bmon displays basic interface information. To enable graphical visualizations, press g, i, or d for more detailed graphical representations of the data.

You can also monitor a specific network interface by using the -p
option followed by the interface name. For example, to monitor eth0
:
bmon -p eth0
To display the results in bits per second, use the -b
flag:
bmon -bp eth0
To adjust the update interval (in seconds), use the -r
option:
bmon -r 2 -p eth0
Step 3.1 – Use bmon Input Modules
Netlink is used to transfer information between the kernel and user-space processes. By default, Netlink is the input module. To use bmon Netlink input modules, you can use the following command on AlmaLinux 9:
bmon -i netlink

You can also use proc as an input module:
bmon -i proc

dummy is a programmable input module for debugging and testing purposes:
bmon -i dummy

To disable data collection, use Null:
bmon -i null
Step 3.2 – Use bmon Output Modules
curses is used as a display library for text-based terminals. By default, curses are the output modules. To get output in curses, run the following bmon command:
bmon -o curses

When curses is not available, you can use ascii instead:
bmon -o ascii
**Output**
Interfaces RX bps pps % TX bps pps %
lo 0 0 0 0
qdisc none (noqueue) 0 0 0 0
eth0 0 0 0 0
qdisc none (fq_codel) 0 0 0 0
Interfaces RX bps pps % TX bps pps %
lo 0 0 0 0
qdisc none (noqueue) 0 0 0 0
eth0 3.49KiB 54 1.41KiB 3
qdisc none (fq_codel) 0 0 1.41KiB 3
Interfaces RX bps pps % TX bps pps %
lo 0 0 0 0
qdisc none (noqueue) 0 0 0 0
eth0 3.23KiB 51 930B 2
qdisc none (fq_codel) 0 0 930B 2
Interfaces RX bps pps % TX bps pps %
lo 0 0 0 0
...
You can also use format mode to get the output:
bmon -o format
**Output**
lo 864 864 6 6
qdisc none (noqueue) unknown unknown unknown unknown
eth0 772373799 7184990 718996 63774
qdisc none (fq_codel) unknown unknown unknown unknown
lo 864 864 6 6
qdisc none (noqueue) unknown unknown unknown unknown
eth0 772376874 7186270 719042 63776
qdisc none (fq_codel) unknown unknown unknown unknown
lo 864 864 6 6
qdisc none (noqueue) unknown unknown unknown unknown
eth0 772379971 7186548 719091 63777
qdisc none (fq_codel) unknown unknown unknown unknown
lo 864 864 6 6
qdisc none (noqueue) unknown unknown unknown unknown
eth0 772383396 7186946 719145 63780
qdisc none (fq_codel) unknown unknown unknown unknown
lo 864 864 6 6
...
For more help and information, use the following commands:
# bmon --help
# man bmon
Conclusion
You have now successfully learned how to Build and Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9, run the service, and utilize its input and output modules for effective bandwidth monitoring. Hopefully, you find this tool useful.
Here are a few more interesting articles:
Install Nagios Monitoring Tool on AlmaLinux 9
Set up Gnome Desktop on Rocky Linux 9
Install Mattermost on Rocky Linux 8 and RHEL 8
Alternative Solutions for Bandwidth Monitoring on AlmaLinux 9
While bmon is a powerful and versatile tool, other options are available for monitoring bandwidth on AlmaLinux 9. Here are two alternative solutions:
1. Using vnStat
vnStat
is a console-based network traffic monitor that keeps a log of network traffic for selected interfaces. Instead of real-time monitoring like bmon
, vnStat
operates as a background service and accumulates data over time, allowing you to analyze bandwidth usage patterns and trends.
Installation:
sudo dnf install vnstat -y
Configuration:
Edit the configuration file /etc/vnstat.conf
to set the interface(s) you want to monitor:
Interface "eth0"
Replace eth0
with the actual network interface name.
Initialization:
Initialize the database for the specified interface:
sudo vnstat -u -i eth0
Starting the Service:
Start and enable the vnstat
service:
sudo systemctl enable --now vnstat
Usage:
To view the current bandwidth statistics, use the command:
vnstat
This will display a summary of the network traffic for the configured interface(s).
Advantages of vnStat
:
- Lightweight and low resource consumption.
- Long-term data collection and analysis.
- Simple to configure and use.
Disadvantages of vnStat
:
- Not real-time monitoring.
- Limited visualization options.
2. Using nload
nload
is another console application that provides real-time monitoring of network traffic. It displays incoming and outgoing traffic as two simple graphs, making it easy to visualize network usage.
Installation:
sudo dnf install nload -y
Usage:
To run nload
and monitor all network interfaces, simply execute:
nload
To monitor a specific interface, use the interface name as an argument:
nload eth0
Advantages of nload
:
- Simple and intuitive interface.
- Real-time monitoring.
- Easy to install and use.
Disadvantages of nload
:
- Limited features compared to
bmon
. - No historical data collection.
- Basic graphical representation.
By exploring these alternative solutions, you can choose the bandwidth monitoring tool that best suits your specific needs and requirements on AlmaLinux 9. Whether you prefer real-time monitoring, long-term data analysis, or a simple and intuitive interface, there’s a tool available to help you effectively manage your network bandwidth. Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9 or use one of these options!