bwmon
What it is
bwmon is a free, self-hosted bandwidth monitor for one Linux host. Its live panel polls receive and transmit traffic every second, charts recent rates, and shows top processes. When interface traffic exceeds five times its rolling two-minute average, bwmon records process attribution, rates across interfaces, and leading conntrack flows for spike investigation. It retains five-minute samples for six months and provides views from one hour to all time, along with a time-of-week heatmap and rate histogram. A banner appears when the rolling five-minute average reaches 40 Mbps; cleared alerts stay in the history table. Installation uses a shell script to set up the collector, systemd service, cron jobs, and nginx server block, with the dashboard available on port 8080 by default. bwmon requires Linux kernel 4.0 or later, root access, and one network interface. Debian and Ubuntu use an apt-based installer, while other distributions require manual dependency installation. The project is licensed under MIT. Its README recommends authentication when exposing the bundled web server to the internet.
For and against
For
- Live traffic and top processes update every second
- Keeps five-minute samples for six months
- Includes a time-of-week heatmap and rate histogram
- Free, self-hosted, and MIT licensed
Against
- Requires Linux kernel 4.0 or later and root access
- Monitors one network interface
- Other Linux distributions need manual dependency installation
- Internet-exposed installs need an authentication layer
The verdict
bwmon provides detailed bandwidth views and spike records for a single Linux host, with no cloud service or signup required. It is limited to one interface and requires care when exposing its web server publicly.
Who it suits
bwmon may suit someone investigating bandwidth use on a single Linux host who can self-host and meet its root-access requirement. The project says multi-host or long-horizon analytics call for heavier tools.
Plans and prices
bwmon
Single Linux host · self-hosted · MIT license
Read 3 Oct 2026 · github.com
On the record
- Alerts
- A banner appears when the rolling five-minute average reaches 40 Mbps, and cleared alerts remain in the history table.github.com · read 3 Oct 2026
- Distribution support
- The installer uses apt for Debian and Ubuntu, while other distributions require manually installing nginx, PHP-FPM, PHP CLI, and nethogs.github.com · read 3 Oct 2026
- History
- bwmon stores five-minute samples for six months and offers views from one hour through all time, with adaptive bucketing.github.com · read 3 Oct 2026
- 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.github.com · read 3 Oct 2026
- Install
- The project describes a one-command install using sudo ./setup.sh and opens its dashboard at the host on port 8080 by default.github.com · read 3 Oct 2026
- Installation
- Installation uses a one-command shell script that sets up the collector, systemd service, cron jobs, and nginx server block.github.com · read 3 Oct 2026
- Integrations and dependencies
- The installer can install nethogs, php-fpm, php-cli, and nginx; runtime JavaScript uses a vendored Plotly Basic build.github.com · read 3 Oct 2026
- 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.github.com · read 3 Oct 2026
- Interface limit
- The project describes monitoring one network interface, auto-detected from the default route unless overridden.github.com · read 3 Oct 2026
- License
- The project is licensed under MIT.github.com · read 3 Oct 2026
- Live monitoring
- The live panel polls RX/TX every second and shows a rolling chart and top processes.github.com · read 3 Oct 2026
- Privacy and hosting
- The project describes itself as self-hosted, with no agents, cloud service, or signup required.github.com · read 3 Oct 2026
- Process attribution
- A daemonized nethogs process writes top talkers to a JSON file about every two seconds for the web UI to read.github.com · read 3 Oct 2026
- Purpose
- bwmon monitors bandwidth on a single Linux host, with live RX/TX, per-process attribution, spike forensics, and six months of history.github.com · read 3 Oct 2026
- 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.github.com · read 3 Oct 2026
- 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.github.com · read 3 Oct 2026
- 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.github.com · read 3 Oct 2026
- Security
- The bundled nginx server block is open; the README recommends putting internet-exposed installs behind an authenticated reverse proxy or adding basic authentication.github.com · read 3 Oct 2026