bandwidthmonThis will automatically select the network interface with the most traffic.
# Ethernet
bandwidthmon -i eth0
# WiFi
bandwidthmon -i wlan0
# Loopback
bandwidthmon -i lobandwidthmon -lOutput:
Available Network Interfaces:
────────────────────────────────────────────────────────────────────────────────
eth0 (RX: 1234567890 bytes, TX: 987654321 bytes)
wlan0 (RX: 5678901234 bytes, TX: 4321098765 bytes)
lo (RX: 1000 bytes, TX: 1000 bytes)
# Tall chart (20 lines)
bandwidthmon -H 20
# Short chart (5 lines)
bandwidthmon -H 5# Fixed width of 100 columns
bandwidthmon -W 100
# Auto-fit terminal width (default)
bandwidthmon -W 0bandwidthmon -H 15 -W 80bandwidthmon -dOutput:
═══ Bandwidth Monitor (eth0) ═══
Download: 1.24 MB/s │ Upload: 456.78 KB/s
DOWNLOAD
1.50 │
1.25 │ ╭─╮
1.00 │ ╭─╯ ╰─╮
0.75 │ ╭─╯ ╰─╮
0.50 │╭─╯ ╰─╮
0.25 ╰╯ ╰─
Press 'q' or Ctrl+C to quit
bandwidthmon -ubandwidthmonbandwidthmon -sOutput:
═══ Bandwidth Monitor (eth0) ═══
Download: 1.24 MB/s │ Upload: 456.78 KB/s
Peak DL: 2.50 MB/s │ Peak UL: 1.00 MB/s
Avg DL: 1.15 MB/s │ Avg UL: 450.00 KB/s
Total RX: 1.25 GB │ Total TX: 456.78 MB
Runtime: 125.5s
DOWNLOAD
...
UPLOAD
...
Press 'q' or Ctrl+C to quit
bandwidthmon -i eth0 -H 15 -W 100 -s -dThis will:
- Monitor
eth0interface - Use 15 lines for chart height
- Use 100 columns for chart width
- Show summary statistics
- Show only download chart
bandwidthmon -i wlan0 -H 20 -s# Show only download with summary
bandwidthmon -d -s
# Show only upload with summary
bandwidthmon -u -s# Keep 300 data points (5 minutes)
bandwidthmon --history 300
# Keep 60 data points (1 minute)
bandwidthmon --history 60All examples work the same with bandwidthmon2:
# Basic usage
bandwidthmon2
# With options
bandwidthmon2 -i eth0 -H 20 -s
# Custom rendering with full options
bandwidthmon2 -i wlan0 -H 15 -W 100 -s -d# Start monitoring before download
bandwidthmon -d -s
# Then start your download in another terminal
# Watch real-time bandwidth usage# Monitor upload only
bandwidthmon -u -s
# Start backup in another terminal
# Monitor upload speed# Terminal 1
bandwidthmon -i eth0
# Terminal 2
bandwidthmon -i wlan0
# Compare performance side by side# Monitor with tall chart for better visibility
bandwidthmon -H 25 -s
# Watch for:
# - Sudden drops in bandwidth
# - Consistent low speeds
# - High peak vs low average (unstable connection)# Monitor server interface with wide chart
bandwidthmon -i eth0 -H 10 -W 120 -s
# Useful for:
# - Web server traffic monitoring
# - Database replication monitoring
# - Backup job monitoring# Run for extended period with summary
bandwidthmon -s
# Check Total RX/TX at end of session
# Calculate data usage over timeThe charts automatically adjust to terminal width changes (when using -W 0).
q- QuitQ- QuitEsc- QuitCtrl+C- Quit
For long monitoring sessions:
# Reduce history to save memory
bandwidthmon --history 60
# Reduce chart height for faster rendering
bandwidthmon -H 5The tool uses:
- Cyan for download
- Yellow for upload
- White for values
- Green for positive indicators
- Always use
-sfor production monitoring - Summary statistics help identify trends - Use
-dor-uto focus - Reduces visual clutter when you only care about one direction - Adjust
-Hbased on terminal - Taller terminals benefit from taller charts - Let
-W 0auto-size - Unless you need consistent output for screenshots - Use
--historywisely - More history = more memory usage
# List interfaces first
bandwidthmon -l
# Then use exact name
bandwidthmon -i <exact-interface-name># Increase width
bandwidthmon -W 100
# Decrease height
bandwidthmon -H 8# Use minimal settings
bandwidthmon -H 5 -W 50