Categories
Self-organization

How to use bmon to monitor network bandwidth on linux

How to use bmon to monitor network bandwidth on linux

In a past article we discussed running an internet speed test from the Linux command line. That is great for testing your internet speeds. But, what if you wanted to monitor the bandwidth usage of an internal connection? Enter bmon, a light weight real-time command line bandwidth monitoring tool.

The bmon utility is a tool that provides network interface utilization information on the command line, but in a very familiar way. The bmon utility is widely available, simple to install, and easy to get started. Let’s dive in.

Table of Contents

Installing BMON on Linux

Most modern Linux systems provide the bmon package in their default repositories. You can use your package manager to install it.

Fedora / CentOS 8 / Red Hat 8 Installation of bmon

You can use the dnf package manager to install the bmon utility with the following command:

NOTE: For Red Hat 8 and CentOS 8 you will need to install and enable the EPEL repository before installing bmon.

Red Hat 7 / CentOS 7 Installation of bmon

The Base repositories in CentOS and Red Hat 7 do not provide the bmon package. However, you can enable the epel repo and then install using yum. Use the following command to install the bmon utility via yum:

Ubuntu / Mint / Debian Installation of bmon

The apt package manager to install bmon on Debian based systems.

Understanding the BMON Interface

The easiest way to use this utility is to invoke it without any options. It will automatically start monitoring active interfaces. In the animation below you can see how the bmon interface looks with all display panes toggled on. Let’s examine what is in each of the information panes.

How to use bmon to monitor network bandwidth on linux

In this view you there are several rows (panes) of data.

1st row: This is the element list which shows all the interfaces that you can monitor and their current RX/TX utilization. You can use the up and down arrows to navigate to the desired interface.

2nd row: A graphical representation of the interface attributes. By default it shows the RX (received) and TX (transmitted) packets. The graphs can be toggled on or off by hitting g . Additionally, you can use the left and right arrows to toggle the attribute to be displayed.

3rd row: The detailed statistics pane. It shows you all the detailed information your system keeps on the selected network interface. You can toggle the detailed statistics by hitting the d key.

4th row: This is the additional information pane and shows you some more information about the configuration of the interface. You can toggle this on or off by hitting the i key.

At any time you can hit the ? to bring up the quick reference (seen below).

How to use bmon to monitor network bandwidth on linux

To exit the interface you can hit the q key.

Using BMON Options

There are several options and input/output modules that really make bmon a robust bandwidth monitoring utility. In this section we will outline some of the most common options.

Use Specific Interface at Start Up

You most likely want to monitor a specific interface when you open the utility. Instead of toggling through to find the interface you want, you can use the -p option and specify it on the command line. Here we are telling bmon to monitor the eno1 interface.

Set User Defined Read Interval

The default update, or read, interval is one second. You can change this to whatever you desire. Simply pass the -r switch followed by the desired interval in seconds. For example, to use a five second read interval, the command would look like this:

You can decimal representations for half intervals or intervals less than a second. For example, use .5 to update the interface every half second.

Set User Defined Rate Interval

The rate interval is the time period in seconds taken into account for the rate calculations. The default value is 30 seconds. You can set a custom rate interval by using the -R option like so:

Show All, Including Disabled, Interfaces

Using the -a option will show all elements (interfaces), including those that are disabled.

Using BMON Input and Output Modules

The bmon utility comes with several pre-configured input and output modules.

Listing Available Modules

You can list the available modules by calling the -i (input) and -o (output) options followed by the list argument.

Modules Descriptions

Here is a brief description of each module.

Input Modules

  • netlink – Provides stats about traffic control qdiscs and classes.
  • proc – Provides stats using the proc filesystem.
  • dummy – Generates static or randomized input for testing purposes.
  • null – Provides no stats / disable interface collection

Output Modules

  • curses – Default view as seen above
  • ascii – Prints highly configurable diagrams and lists to standard output.
  • format – Provides ability to format ascii output for scripting.
  • null – Disables primary output

For more in-depth information, please use the links in the resources section.

Specifying Input Modules

To select an input module you can issue the -i option followed by the desired module name. For example to use the proc input module:

Specifying Output Modules

Conversely, to specify a desired output module you can use the -o option. Here is an example using the ascii output module.

Conclusion

Bmon is a very powerful bandwidth monitoring tool. It has many options and configurations that are outside the scope of this tutorial. If you are interested in advanced usage of bmon, we suggest you read the detailed man pages and documentation available on it’s Github project page.

Maintaining a network also means maintaining its bandwidth. Bandwidth leak will lead the network users to complain and may impact to slow response from applications. On Linux system, we can use a tool called bmon to monitor the bandwidth in real-time.

What is bmon

Bmon or Bandwidth Monitoring is a tool that intended for debugging and monitor bandwidth in real-time access. This tool is capable to retrieving statistics from various input modules. It provides various output methods including a curses-based interface.

Installation

On my Zorin OS which based on Ubuntu 13.04, I can install it by typing :

This will install bmon instantly. But bmon version on this Ubuntu 13.04 is 2.0.103. While the latest version at the time this article is written is version 3.1.

In this article, we will use the latest version. This version only available in tar.gz format. Here are the steps to install it.

1. Download the latest version from Carisma website

2. Extract it

3. Go to the extracted folder

4. Compile and install bmon

Error messages :

If you have some errors that we had, this may help you.

Please note that we are using Ubuntu-based distribution. This steps might be different with other Linux distribution.

No CONFUSE library

To solve this error, install libconfuse library.

No LIBNL library

To solve those errors, install LIBNL library.

More detail about LIBNL library can be found at bmon website: http://www.carisma.slowglass.com/

Run bmon

After bmon installed, we can run bmon by typing bmon in the terminal.

How to use bmon to monitor network bandwidth on linux

With no option, bmon will run in default curses mode. Bmon graph is divided into some parts.

  • The first row shows us the available interfaces, receive transmit and transfer transmit. This rows is represented by l letter which mean list view.
  • The second row is graphical statistics. If the graph is not showing, you can press g button.
  • The third row shows us the detailed statistics of receive and transfer activity.
  • And the fourth row shows us the additional information.

To get some help on how to operate bmon, press question mark button (?).

How to use bmon to monitor network bandwidth on linux

We also can run bmon with options. Here are some options for bmon.

Set input modules

bmon has some input modules. There are netlink, proc, dummy and null.
To define it by yourself, we can use -i option. For example, if we want to use input from /proc/net/dev file, we can type :

Set output modules

bmon has some output modules. There are curses, ascii, format and null. By default, bmon will use curses as the output. If we want to use ascii output, we can type :

To get help about ascii modules, type :

How to use bmon to monitor network bandwidth on linux

Set specific interface to display

To do this, we can use -p option.

With this option, bmon will only list the eth0 interface. If you put eth*, then will list all interface with pattern eth0, eth1 until ethX.

How to use bmon to monitor network bandwidth on linux

Set read interval

By default, bmon will statistics every 1 seconds. If we want to change it, we can use -r option. Say we want to change it into 10 seconds, we can run bmon with :

Conclusion

bmon can be a handy tool for debugging and monitor bandwidth in realtime mode. This program is light and easy to use. As usual, we can always type man bmon or bmon –help to display its manual page and explore it more detail.

How to use bmon to monitor network bandwidth on linux

In a past article we discussed running an internet speed test from the Linux command line. That is great for testing your internet speeds. But, what if you wanted to monitor the bandwidth usage of an internal connection? Enter bmon, a light weight real-time command line bandwidth monitoring tool.

The bmon utility is a tool that provides network interface utilization information on the command line, but in a very familiar way. The bmon utility is widely available, simple to install, and easy to get started. Let’s dive in.

Table of Contents

Installing BMON on Linux

Most modern Linux systems provide the bmon package in their default repositories. You can use your package manager to install it.

Fedora / CentOS 8 / Red Hat 8 Installation of bmon

You can use the dnf package manager to install the bmon utility with the following command:

NOTE: For Red Hat 8 and CentOS 8 you will need to install and enable the EPEL repository before installing bmon.

Red Hat 7 / CentOS 7 Installation of bmon

The Base repositories in CentOS and Red Hat 7 do not provide the bmon package. However, you can enable the epel repo and then install using yum. Use the following command to install the bmon utility via yum:

Ubuntu / Mint / Debian Installation of bmon

The apt package manager to install bmon on Debian based systems.

Understanding the BMON Interface

The easiest way to use this utility is to invoke it without any options. It will automatically start monitoring active interfaces. In the animation below you can see how the bmon interface looks with all display panes toggled on. Let’s examine what is in each of the information panes.

How to use bmon to monitor network bandwidth on linux

In this view you there are several rows (panes) of data.

1st row: This is the element list which shows all the interfaces that you can monitor and their current RX/TX utilization. You can use the up and down arrows to navigate to the desired interface.

2nd row: A graphical representation of the interface attributes. By default it shows the RX (received) and TX (transmitted) packets. The graphs can be toggled on or off by hitting g . Additionally, you can use the left and right arrows to toggle the attribute to be displayed.

3rd row: The detailed statistics pane. It shows you all the detailed information your system keeps on the selected network interface. You can toggle the detailed statistics by hitting the d key.

4th row: This is the additional information pane and shows you some more information about the configuration of the interface. You can toggle this on or off by hitting the i key.

At any time you can hit the ? to bring up the quick reference (seen below).

How to use bmon to monitor network bandwidth on linux

To exit the interface you can hit the q key.

Using BMON Options

There are several options and input/output modules that really make bmon a robust bandwidth monitoring utility. In this section we will outline some of the most common options.

Use Specific Interface at Start Up

You most likely want to monitor a specific interface when you open the utility. Instead of toggling through to find the interface you want, you can use the -p option and specify it on the command line. Here we are telling bmon to monitor the eno1 interface.

Set User Defined Read Interval

The default update, or read, interval is one second. You can change this to whatever you desire. Simply pass the -r switch followed by the desired interval in seconds. For example, to use a five second read interval, the command would look like this:

You can decimal representations for half intervals or intervals less than a second. For example, use .5 to update the interface every half second.

Set User Defined Rate Interval

The rate interval is the time period in seconds taken into account for the rate calculations. The default value is 30 seconds. You can set a custom rate interval by using the -R option like so:

Show All, Including Disabled, Interfaces

Using the -a option will show all elements (interfaces), including those that are disabled.

Using BMON Input and Output Modules

The bmon utility comes with several pre-configured input and output modules.

Listing Available Modules

You can list the available modules by calling the -i (input) and -o (output) options followed by the list argument.

Modules Descriptions

Here is a brief description of each module.

Input Modules

  • netlink – Provides stats about traffic control qdiscs and classes.
  • proc – Provides stats using the proc filesystem.
  • dummy – Generates static or randomized input for testing purposes.
  • null – Provides no stats / disable interface collection

Output Modules

  • curses – Default view as seen above
  • ascii – Prints highly configurable diagrams and lists to standard output.
  • format – Provides ability to format ascii output for scripting.
  • null – Disables primary output

For more in-depth information, please use the links in the resources section.

Specifying Input Modules

To select an input module you can issue the -i option followed by the desired module name. For example to use the proc input module:

Specifying Output Modules

Conversely, to specify a desired output module you can use the -o option. Here is an example using the ascii output module.

Conclusion

Bmon is a very powerful bandwidth monitoring tool. It has many options and configurations that are outside the scope of this tutorial. If you are interested in advanced usage of bmon, we suggest you read the detailed man pages and documentation available on it’s Github project page.

Linux, networking, hardware and more

  • Introduction – Bmon Linux command for network bandwidth monitoring
  • Bmon – See your bandwidth usage in a terminal
    • Installing Bmon
      • Install bmon on Ubuntu and Debian
      • Install bmon on CentOS
    • Running the bmon command to see your network usage
  • Bmon input sources
  • Further reading

Introduction – Bmon Linux command for network bandwidth monitoring

Do you need a Linux command for network bandwidth monitoring? This article explains how bmon enables you to easily monitor your network bandwidth usage. Monitoring your network bandwidth can tell you what kind of network speeds you are getting. As a result you might find an application or service consuming a large amount of bandwidth. Bmon is simple and easy to install. I use bmon because it does not require root access. For example some other tools like iftop use libpcap which requires elevated access to get the input data. Bmon’s input modules, specifically netlink and proc can be used without root access.

Bmon – See your bandwidth usage in a terminal

How to use bmon to monitor network bandwidth on linux

Bmon is a command line tool. It provides statistics on your network utilization. By default it will display a graph as seen in the screen shot above. Before using bmon you should know which interface you want to monitor. There are multiple ways to see your network interface names. But I prefer the ip addr command. Run the command as follows:

For example I am interested in my ethernet adapter. But I don’t know the interface name. To figure it out I run ip addr . I only have one network adapter. And I know lo is the loop back. There ens3 as seen in the output is my ethernet adapter.

Installing Bmon

Bmon is available in most Linux distributions. Firstly check your distro’s package management system. For example on Ubuntu, Debian and CentOS you can install it with the following commands. If your distro does not have a bmon package available you can build it from the source code.

Install bmon on Ubuntu and Debian

Installing bmon on Ubuntu or Debian is done using the apt package manager. Be sure to use the sudo command. Because installing system wide packages requires root access.

Install bmon on CentOS

On CentOS the installation is similar. But you use the yum package manager command. Again use sudo.

Running the bmon command to see your network usage

To use Bmon you simply run the bmon command. The default options should work on all systems.

Now you should see your network graphs in the terminal. You will want to select the interface you are interested in. For example I want to monitor ens3 . By default bmon selected lo. So I use the down arrow to move down the list. Once the > is at ens3 I see my ethernet stats.

To filter out certain interfaces you can use Bmon’s policy. For example if I want to exclude the loopback adapter I can use run the following command:

This tells bmon to ignore the lo interface when monitoring usage. Additionally you can explicitly specify a policy for 1 interface or a more complex policy:

Bmon input sources

To see the available input modules bmon supports, run the following command:

You will see output similar to what I have below:

Bmon Stands is an open source tool for the bandwidth monitoring tool. bmon is a powerful CLI based network bandwidth monitoring and debugging tool for Unix / Linux systems to capture networking related statistics & present them visually on the command line in a human-friendly way. It captures the traffic usage over all the network interfaces on the system. It is an effective and fast real-time network bandwidth monitor and rate estimator.

It features various output methods such as :

  • HTML output
  • ASCII output
  • Graphical visualization
  • An interactive curses user interface
  • A programmable text output for scripting

bmon installation in Linux:

It can be easily installed from the default package manager as almost all Linux distributions has bmon package in the default repositories but the available version might be a little older.

On RHEL/CentOS/Fedora:

On Fedora 22+:

On Debian/Ubuntu/Mint:

On openSUSE system:

On Arch Linux based systems:

For the most recent version of bmon (i.e version 4.0), you have to build it from its source using the following commands for different Linux distros:

For Debian based systems :

For CentOS 6, RHEL based systems:

For OSX installation :

Full help is provided through the following command :

Bandwidth Monitor ( BMON ) : Getting started

Running bmon to capture live bandwidth usage

After completing the bmon installation successfully via the help of above commands for different distros, just type the following command to run the bmon tool :

How to use bmon to monitor network bandwidth on linux

To view the quick reference of bmon as below press [Shift + ?] :

How to use bmon to monitor network bandwidth on linux

bmon shows only interface information by default. To load the graphics, enter g, i, or d (depending on the distro) for detailed graphical visualization of information.

How to use bmon to monitor network bandwidth on linux

Set the specific interface to display :

To monitor the enp1s0 network interface, we will use the flag -p to set policy defining which network interfaces to display as below :

To see the result in bit per second instead of bytes per second, use the -b flag like so :

To define the intervals per second use -r flag as below :

To use bmon Input Modules :

  • Netlink employs the Netlink protocol to collect interface and traffic control statistics from the kernel.
  • By default, netlink is the input module.
  • To explicitly set netlink as input module :

How to use bmon to monitor network bandwidth on linux

How to use bmon to monitor network bandwidth on linux

  • dummy is the programmable input module for debugging & testing purposes.
  • To explicitly set dummy as input module :

How to use bmon to monitor network bandwidth on linux

  • Null is used to disable the data collection.
  • To obtain more information about a specific module use the “help” flag with the input mode as below :

How to use bmon to monitor network bandwidth on linux

To Use bmon Output Modules :

  • curses is an interactive curses-based text user interface,
  • It offers real-time rate estimations
  • To get the graphical representation of each attribute curses output mode is used.
  • By default, curses are the output mode.
  • To get the output in curses :

How to use bmon to monitor network bandwidth on linux

  • ascii is a straightforward, , human-readable and programmable text output.
  • Can be used to display a list of interfaces, detailed counters, and graphs to the console.
  • By default, it is the fallback output mode when curses are not available.
  • To get output in ascii :

How to use bmon to monitor network bandwidth on linux

  • The format is a fully scriptable output mode.
  • Meant for consumption by other programs i.e. we can use its output values at a later time in scripts/programs for analysis & other stuff.
  • To get output in format mode :

How to use bmon to monitor network bandwidth on linux

  • To get interactive curses output with graph :

How to use bmon to monitor network bandwidth on linux

  • To obtain more information about a specific module use “help” flag with the output mode as below :

How to use bmon to monitor network bandwidth on linux

  • To get help or read more about bmon use the man page or “help” flag:

Share This Post

Knowing how you use your network is an important asset. However, this easier said than done, as you will need to assess several components of the network. While this is a complex task, having a clear picture of bandwidth usage is simple. Today, we see how to use bmon to project real-time charts of your network usage in Linux. This is similar to what you see in the task manager on Windows, just more powerful.

What is bmon?

Bmon is a free tool that allows you to plot your network statistics on-screen. It works in the terminal and creates nice charts of your bandwidth, real-time. Thus, it is a great tool when it comes to troubleshooting network problems. Besides merely learning how to use it, we will also see some common use cases.

Getting bmon

Use your package manager to get bmon, it is just a single package. For example, on Ubuntu we used sudo apt-get install bmon . You can also use yum on the Red Hat family, or dnf on Fedora 22+. This will install bmon, and now you can simply run it by typing bmon. However, before we do that, it is better to generate some traffic to grow our bandwidth usage.

How to use bmon

Create some traffic

This step is optional but recommended. You don’t want to see a flat chart, right? Thus, we first need to generate some network traffic. You can go the easy route, watching a video on YouTube, or downloading something. However, this is not always possible, not to mention it isn’t professional. Instead, you can opt for a bandwidth test software like iperf. This tool allows you to generate traffic according to your specifications, and you can install it as quick as sudo apt-get install iperf3 .

Then, you can run iperf3 -s on a terminal, and iperf3 -c localhost -t 100 on another terminal to test connection to the loopback interface for 100 seconds. This is probably the shortest explanation of iperf you could find, but if you want to learn more we got you covered. Just check our iperf3 tutorial.

Reading bmon charts

Once you have some traffic going, open a terminal (yet another if you were using iperf3) and type bmon . You will see something like this:

As you can see, we have a main area in the center showing two charts: the bandwidth received (RX, in green), and the bandwidth transmitted (TX, in red). Just above that, we have three boxes:

  • In the interfaces box, you can select which network interface to see the charts for. You can scroll using up and down arrows. In this example, we are watching charts for the loopback interface ( lo ).
  • The next box gives you information about the received traffic (RX). You see the received traffic for all interfaces in bits per second and packets per second.
  • Finally, the rightmost box shows the same information about the RX box, but for transmitted traffic (TX).

You can also see additional information by pressing d , or add more charts with . You can remove the charts you added with > . Additional charts will show information about errors, collisions, and other network problems. Since we are testing a loopback, we don’t expect any.

Once you are done, you can quit by pressing q .

Summary

Bmon is a powerful tool in the Linux prompt to monitor bandwidth usage and errors. Install the bmon package with your package manager, then simply run bmon . Use d , and > to show or hide information and charts, up and down arrow to select the interface to see charts for. To quit, just hit q .

With bmon in your toolkit, you are ready to do the nasty troubleshooting sometimes required to network engineers. Try it and let me know what do you think about this simple, yet awesome, software.

bmon is a simple yet powerful, text-based network monitoring and debugging tool for Unix-like systems, which captures networking related statistics and displays them visually in a human friendly format. It is a reliable and effective real-time bandwidth monitor and rate estimator.

It can read input using an assortment of input modules and presents output in various output modes, including an interactive curses user interface as well as a programmable text output for scripting purposes.

Install bmon Bandwidth Monitoring Tool in Linux

Almost all Linux distributions has bmon package in the default repositories and can be easily install from default package manger, but the available version might be little older.

Alternatively, you can get .rpm and .deb packages for your Linux distribution from https://pkgs.org/download/bmon.

If you wanted to have a most recent version of bmon (i.e version 4.0), you need to build it from source using following commands.

On CentOS, RHEL and Fedora

On Debian, Ubuntu and Linux Mint

How to Use bmon Bandwidth Monitoring Tool in Linux

Run it as below (for starters: RX means received bytes per second and TX refers to transmitted bytes per second):

To view more detailed graphical statistics/information of bandwidth usage, press d key and refer screnshot below.

Press [Shift + ?] to view the quick reference below. To exit the interface, press [Shift + ?] again.

bmon – Quick Reference

To view statistics of a given interface, select it using the Up and Down arrows. However, to monitor a specific interface only, specify it as an argument on the command line as follows.

The flag -p sets a policy defining which network interfaces to display, in the example below, we will be monitoring the enp1s0 network interface:

bmon – Monitor Ethernet Bandwidth

To use bit per second instead of bytes per second, use the -b flag like so:

We can also define the intervals per second with the -r flag as follows:

How to Use bmon Input Modules

bmon has a number of input modules that offer statistical data about interfaces, which includes:

  1. netlink – employs the Netlink protocol to collect interface and traffic control statistics from the kernel. This is the default input module.
  2. proc — reads interface statistics from the /proc/net/dev file. It is considered a legacy interface and offered for backwards compatibly. It is a fallback module in case the Netlink interface is not available.
  3. dummy – this is a programmable input module for debugging and testing purposes.
  4. null – disables data collection.

To find additional info about a module, invoke the it with the “help” option set as follows:

The next command will invoke bmon with the proc input module enabled:

How to Use bmon Output Modules

bmon also uses output modules to display or export the statistical data collected by the input modules above, which includes:

  1. curses – this is an interactive curses based text user interface, it offers real time rate estimations and a graphical representation of each attribute. It is the default output mode.
  2. ascii – is a straightforward programmable text output meant for human consumption. It can display list of interfaces, detailed counters and graphs to the console. It is the default fallback output mode when curses is not available.
  3. format – is a fully scriptable output mode, it’s meant for consumption by other programs-meaning we can use its output values at a later time in scripts or programs for analysis and more.
  4. null – this disables output.

To get more info concerning a module, run the it with the “help” flag set like so:

The command that follows will invoke bmon in ascii output mode:

bmon – Ascii Output Mode

We can run the format output module as well, then use the values obtained for scripting or in another program:

bmon – Format Output Mode

For additional usage info, options and examples, read the bmon man page:

That’s all for now, test the various features of bmon in different scenarios and share your thoughts about it with us via the comment section below.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

We are thankful for your never ending support.

Share This Post

Knowing how you use your network is an important asset. However, this easier said than done, as you will need to assess several components of the network. While this is a complex task, having a clear picture of bandwidth usage is simple. Today, we see how to use bmon to project real-time charts of your network usage in Linux. This is similar to what you see in the task manager on Windows, just more powerful.

What is bmon?

Bmon is a free tool that allows you to plot your network statistics on-screen. It works in the terminal and creates nice charts of your bandwidth, real-time. Thus, it is a great tool when it comes to troubleshooting network problems. Besides merely learning how to use it, we will also see some common use cases.

Getting bmon

Use your package manager to get bmon, it is just a single package. For example, on Ubuntu we used sudo apt-get install bmon . You can also use yum on the Red Hat family, or dnf on Fedora 22+. This will install bmon, and now you can simply run it by typing bmon. However, before we do that, it is better to generate some traffic to grow our bandwidth usage.

How to use bmon

Create some traffic

This step is optional but recommended. You don’t want to see a flat chart, right? Thus, we first need to generate some network traffic. You can go the easy route, watching a video on YouTube, or downloading something. However, this is not always possible, not to mention it isn’t professional. Instead, you can opt for a bandwidth test software like iperf. This tool allows you to generate traffic according to your specifications, and you can install it as quick as sudo apt-get install iperf3 .

Then, you can run iperf3 -s on a terminal, and iperf3 -c localhost -t 100 on another terminal to test connection to the loopback interface for 100 seconds. This is probably the shortest explanation of iperf you could find, but if you want to learn more we got you covered. Just check our iperf3 tutorial.

Reading bmon charts

Once you have some traffic going, open a terminal (yet another if you were using iperf3) and type bmon . You will see something like this:

As you can see, we have a main area in the center showing two charts: the bandwidth received (RX, in green), and the bandwidth transmitted (TX, in red). Just above that, we have three boxes:

  • In the interfaces box, you can select which network interface to see the charts for. You can scroll using up and down arrows. In this example, we are watching charts for the loopback interface ( lo ).
  • The next box gives you information about the received traffic (RX). You see the received traffic for all interfaces in bits per second and packets per second.
  • Finally, the rightmost box shows the same information about the RX box, but for transmitted traffic (TX).

You can also see additional information by pressing d , or add more charts with . You can remove the charts you added with > . Additional charts will show information about errors, collisions, and other network problems. Since we are testing a loopback, we don’t expect any.

Once you are done, you can quit by pressing q .

Summary

Bmon is a powerful tool in the Linux prompt to monitor bandwidth usage and errors. Install the bmon package with your package manager, then simply run bmon . Use d , and > to show or hide information and charts, up and down arrow to select the interface to see charts for. To quit, just hit q .

With bmon in your toolkit, you are ready to do the nasty troubleshooting sometimes required to network engineers. Try it and let me know what do you think about this simple, yet awesome, software.

How to use bmon to monitor network bandwidth on linux

There is a fantastic tool to see and monitor Bandwidth and Network Traffic on Linux.

It’s called bmon and it works out of the box.

How to Setup and Use

On Ubuntu apt-get install bmon , or in newer versions, you can also just say apt install bmon .

On Centos yum install bmon .

Once you have it installed, you can start the monitor by running bmon from the command-line.

You will be presented with multiple network interfaces (NICs).

Press the down arrow to navigate away from the Loopback (lo) NIC, and select eth0 (or whatever your desired NIC is).

How to use bmon to monitor network bandwidth on linux

You can press d to enable detailed statistics, or press i to enable additional information. If your terminal window has enough height, you can press both d and i !

How to use bmon to monitor network bandwidth on linux

Share this:

  • Twitter
  • Facebook
  • More
  • LinkedIn
  • Reddit
  • Tumblr
  • Pinterest
  • WhatsApp

Like this:

Related

FREE Weekly Digest

Subscribe to receive an email every week for FREE

  • Actionscript
  • Advertising
  • Agile
  • AI
  • Android
  • Angular
  • AWS
  • Big Data
  • Biometrics
  • CLI
  • Cloud
  • CSS
  • Databases
  • Distributed
  • Docker
  • Domains
  • Excel
  • Forensics
  • Git
  • Go
  • Hosting
  • IDE
  • Interview
  • Java
  • Javascript
  • Kotlin
  • Kubernetes
  • Linux
  • Mac
  • Maven
  • Misc
  • MySQL
  • Networking
  • Node
  • NPM
  • Pandas
  • PHP
  • PIP
  • Platform
  • Python
  • Ruby
  • Security
  • SEO
  • Software
  • Spring
  • SQL
  • SSH
  • SSL
  • Startup
  • Terraform
  • Typescript