bwmon
github.com
What it is
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.
Spec sheet
- Purpose
- bwmon monitors bandwidth on a single Linux host, with live RX/TX, per-process attribution, spike forensics, and six months of history.Read 3 Oct 2026 · github.com
- Security
- The bundled nginx server block is open; the README recommends putting internet-exposed installs behind an authenticated reverse proxy or adding basic authentication.Read 3 Oct 2026 · github.com
- License
- The project is licensed under MIT.Read 3 Oct 2026 · github.com
- Alerts
- A banner appears when the rolling five-minute average reaches 40 Mbps, and cleared alerts remain in the history table.Read 3 Oct 2026 · github.com
- Distribution support
- The installer uses apt for Debian and Ubuntu, while other distributions require manually installing nginx, PHP-FPM, PHP CLI, and nethogs.Read 3 Oct 2026 · github.com
- History
- bwmon stores five-minute samples for six months and offers views from one hour through all time, with adaptive bucketing.Read 3 Oct 2026 · github.com
- History and analytics
- It retains five-minute samples for six months and provides 1h, 24h, 7d, 30d, 6m, and all-time views, plus a time-of-week heatmap and rate histogram.Read 3 Oct 2026 · github.com
- Install
- The project describes a one-command install using sudo ./setup.sh and opens its dashboard at the host on port 8080 by default.Read 3 Oct 2026 · github.com
- Installation
- Installation uses a one-command shell script that sets up the collector, systemd service, cron jobs, and nginx server block.Read 3 Oct 2026 · github.com
- Integrations and dependencies
- The installer can install nethogs, php-fpm, php-cli, and nginx; runtime JavaScript uses a vendored Plotly Basic build.Read 3 Oct 2026 · github.com
- Intended use
- The README presents bwmon for investigating bandwidth use on a single host and says multi-host or long-horizon analytics call for heavier tools.Read 3 Oct 2026 · github.com
- Interface limit
- The project describes monitoring one network interface, auto-detected from the default route unless overridden.Read 3 Oct 2026 · github.com
- Live monitoring
- The live panel polls RX/TX every second and shows a rolling chart and top processes.Read 3 Oct 2026 · github.com
- Privacy and hosting
- The project describes itself as self-hosted, with no agents, cloud service, or signup required.Read 3 Oct 2026 · github.com
- Process attribution
- A daemonized nethogs process writes top talkers to a JSON file about every two seconds for the web UI to read.Read 3 Oct 2026 · github.com
- Requirements
- It requires a Linux host with kernel 4.0 or later and root access; the installer uses apt, while other distributions require manual dependency installation.Read 3 Oct 2026 · github.com
- Requirements and limits
- bwmon requires Linux kernel 4.0 or later, root access, and one network interface to monitor; six months of history uses at most 50 MB per interface.Read 3 Oct 2026 · github.com
- 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.Read 3 Oct 2026 · github.com
- Spike forensics
- When interface traffic exceeds five times its rolling two-minute average, bwmon records process attribution, all-interface rates, and top conntrack flows.Read 3 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Live receive and transmit rates update every second.
- Records process and conntrack details for traffic spikes.
- Keeps five-minute samples for six months.
- Self-hosted, with no signup required.
- MIT-licensed and free.
Limits
- Monitors one network interface.
- Requires Linux kernel 4.0 or later and root access.
- Other distributions need manual dependency installation.
- Internet-exposed installs need added authentication.
Who it suits
It suits administrators investigating bandwidth use on a single Linux host who want process attribution and historical views. The project says multi-host or long-horizon analytics call for heavier tools.
Verdict
bwmon combines live monitoring, spike records, alerts, and six months of history for a single host. Its one-interface scope and Linux requirements make the intended deployment narrow and clear.
Where Specifiction places it
- Bandwidth Monitoring Software#5 of 338.5