bwmon vs vnStat
bwmon
github.comvnStat
humdi.netSide by side
| Figure | bwmon | vnStat |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Bandwidth Monitoring Software | 8.5 (#5) | 7.1 (#28) |
| History | bwmon stores five-minute samples for six months and offers views from one hour through all time, with adaptive bucketing. | It provides summary, five-minute, hourly, daily, monthly, yearly, and top-days statistics. |
| Installation | Installation uses a one-command shell script that sets up the collector, systemd service, cron jobs, and nginx server block. | The maker offers source for Linux and BSD, plus links to Docker and Snap distributions. |
| Purpose | bwmon monitors bandwidth on a single Linux host, with live RX/TX, per-process attribution, spike forensics, and six months of history. | vnStat is a console-based network traffic monitor that logs traffic for selected interfaces. |
| Resource use | The README says six months of history uses at most 50 MB per interface and the bwprocs daemon uses less than one percent of a CPU core at idle. | The maker says vnStat uses system resources lightly regardless of network traffic rate. |
| Security | The bundled nginx server block is open; the README recommends putting internet-exposed installs behind an authenticated reverse proxy or adding basic authentication. | Because vnStat reads kernel-provided interface statistics, the maker says it does not sniff network traffic. |
Plans
In their own words
bwmon
bwmon is a free, self-hosted bandwidth monitor for one Linux host and one network interface. Its dashboard updates receive and transmit rates every second, charts recent traffic, and lists top processes. When traffic passes five times its rolling two-minute average, bwmon records process attribution, all-interface rates, and leading conntrack flows for spike investigation. It retains five-minute samples for six months, with views from one hour to all time, a time-of-week heatmap, and a rate histogram. A banner appears when the rolling five-minute average reaches 40 Mbps; cleared alerts remain in the history table. Installation uses a shell script that sets up the collector, systemd service, cron jobs, and nginx server block; the dashboard defaults to port 8080. It requires Linux kernel 4.0 or later and root access. Debian and Ubuntu use the apt-based installer, while other distributions need manual dependency setup. The project recommends authentication for internet-exposed installations.