Bandwidth is a prized commodity — and generally in short supply — in my household.
Due to this preciousness of bandwidth, the question of “where does it all go?” soon arises.
With that question in mind, I have spent time in the past experimenting with various means of monitoring bandwidth, to see how much I actually use on my PC.
My research resulted in several promising candidates.
Bandwidth Monitoring On Linux
Many command-line tools are available on Linux for network-monitoring.
Of the eighteen tools that I experimented with, only nine were easy to install (or were already installed) on Fedora, and of those nine, only eight appear to be functional. For those of you who like to do the experimenting yourself, the complete list of network-monitoring-related tools that I started with is:
For those of you who do not like to experiment, the following are my comments on the tools that I installed and tested:
Bmon is a “bandwidth monitor and rate estimator”.
It displays the RX bps (received data at a rate of bytes per second) and TX bps (transmitted data at a rate of bytes per second) of your network interface(s).
Bwm-ng is a live, next generation bandwidth monitor for network and disk input and output.
It shows you (live) the individual RX (received data) and TX (transmitted data) totals, along with a combined total for each network interface.
Collectl “collects data that describes the current system status”.
It works as an ongoing process, printing data to your command line screen concerning the status of your CPU, Disks, and Network.
Collectl monitors network traffic RX and TX very well, but lacks the features that I am looking for to total and report on such data.
Dstat is a “versatile tool for generating system resource statistics”.
Dstat also allows you to view all of your system resources instantly, which is a bit too much data all at once, compared to what I set out to do in this instance!
Although it may very well be as efficient as it is described to be, dstat is also an ongoing muddle of numbers without accumulated totals, and was not what I was looking for.
Ifstat is a “handy utility to read network interface statistics”.
It prints the statistics directly on your terminal screen, as opposed to other real-time monitors, and resets, so that the next time it is called, the statistics displayed will only be for network traffic that has accumulated since the command was last run.
I think ifstat looks like the best option to keep track of my network traffic for a specific job or time-frame, by resetting (running the command) before and after the period of time in question.
There is a history file for convenience; reference the
man page for details.
Iftop “displays bandwidth usage on an interface by host”.
It displays a detailed breakdown of each packet and its route, size, etc.
It also shows the total bandwidth usage during the time it is monitoring traffic.
Nethogs is a “net top tool grouping bandwidth per process”.
It shows the PID and user of each application taking up bandwidth, as well as the amount of data sent and received by each program during the time it has been running.
Tcptrack is a TCP connection network monitor.
It display the client IP, server IP and port, and the idle time and speed.
The -i (interface) option is required, followed by the name of the interface to monitor.
tcptrack -i eth0
Bandwidth Monitoring On Windows
Admittedly, I did not test many bandwidth-monitoring programs, as my research led me to believe that one in particular would be sufficient.
I was correct, and looked no further than Glasswire for my bandwidth-monitoring needs.
Glasswire is a firewall software that provides visual network monitoring and a bandwidth usage monitor.
The free version can be downloaded on the Glasswire website.
Glasswire is simple to install, following the same process as any other Windows program installation.
When you finish and run Glasswire, you will see 5 tabs on the window that opens: Graph, Firewall, Usage, Network (not available to the free version), and Alerts.
I find “Usage” to be the most interesting tab, as it provides a total of my usage in chart-format, as well as a breakdown of my traffic usage by Apps, Hosts, and Traffic Types.
You can toggle to show the day’s usage, the week’s usage, or the month’s accumulated usage.
All-in-all, Glasswire was exactly what I was looking for in a bandwidth monitoring tool.
Now that I can monitor exactly how much bandwidth I’m using, I’m almost afraid to look.
While I steel myself for the task, let us know in the comments how you monitor your bandwidth usage.