~2 min read • Updated Jul 21, 2025

1. What Is bmon?


bmon is a terminal-based bandwidth monitor that displays traffic rates per network interface. It uses Netlink and other kernel APIs to report incoming/outgoing (Rx/Tx) data with optional real-time graphs and numeric stats.


2. Installing bmon


Install via your distro’s package manager:

sudo apt install bmon          # Debian / Ubuntu
sudo yum install bmon          # CentOS / RHEL
sudo pacman -S bmon            # Arch Linux

3. Launching bmon


Basic execution:

bmon

Select interfaces using arrow keys; press q to quit.


4. Interactive Keys


KeyAction
← → ↑ ↓Navigate between interfaces
gToggle graph visibility
dToggle detailed stats
rRefresh device list
qExit program

5. Common Options


  • -p: Monitor specific interfaces
  • bmon -p eth0,wlan0
  • -r: Hide graphs
  • bmon -r
  • -b: Run in batch mode (non-interactive)
  • bmon -b -p eth0
  • -o: Set output format (e.g., json, null)
  • bmon -o json -p eth0

6. Data Breakdown


  • Rx: Incoming traffic
  • Tx: Outgoing traffic
  • pps: Packets per second
  • Errors/Drops: Transmission issues

7. Practical Use Cases


  • Track traffic load across server interfaces
  • Observe connection speeds during file transfers
  • Integrate stats into automated monitoring scripts
  • Catch spikes or abnormal data patterns

8. Security and Performance Tips


  • Some interfaces may require sudo access
  • Use -b mode for cron jobs or log pipelines
  • -o json makes it easier to parse and analyze output externally

9. Conclusion


bmon is a fast and flexible network monitoring tool perfect for Linux systems. With visual graphs, protocol-level stats, and simple keyboard controls, it offers excellent insight into bandwidth usage. Whether debugging network issues or tracking daily throughput, bmon is a tool worth knowing.


Written & researched by Dr. Shahin Siami