Live monitoring tools
Three interactive launchers for real-time network observation and bandwidth measurement: iftop, iptraf-ng and iperf3. Each tool is auto-installed from apt on first use, runs in the foreground, and is exited with the documented keystroke. Read-only against the host configuration — they only observe traffic.
What this does
apt-get. Subsequent launches start instantly. None of these tools modify the host network configuration.When to use which
| Question | Use |
|---|---|
| Who is saturating the link right now? | iftop |
| What protocol breakdown / packet sizes / TCP flows are flowing? | iptraf-ng |
| How much bandwidth is actually available between two hosts? | iperf3 |
Real-time network usage (iftop)
Live bandwidth per host pair (source ↔ destination) — like top for traffic. Shows the heaviest flows at the top, with rolling 2/10/40-second averages. Best tool for the question "why is my uplink saturated?".
12.5Kb 25.0Kb 37.5Kb 50.0Kb 62.5Kb
└─────────────┴─────────────┴─────────────┴──────────────┴──────────
proxmox.lan => 192.168.1.50 14.2Kb 9.8Kb 7.1Kb
<= 2.3Kb 1.7Kb 1.4Kb
proxmox.lan => 1.1.1.1 0b 145b 38b
<= 128b 96b 24b
─────────────────────────────────────────────────────────────────
TX: 14.2Kb 9.9Kb 7.1Kb
RX: 2.4Kb 1.8Kb 1.4Kb
TOTAL: 16.6Kb 11.7Kb 8.5KbExit: press q. ProxMenux shows a reminder dialog before launching.
Useful keys inside iftop
man iftop for the full set.Network monitoring tool (iptraf-ng)
A menu-driven multi-mode traffic monitor. Where iftop answers "who", iptraf-ng answers "what": per-protocol byte/packet counts, TCP connection state tracking, packet size histograms and per-station LAN activity.
On launch you get a five-option menu:
| Mode | Use it for |
|---|---|
| IP traffic monitor | Live TCP / UDP / ICMP / other-IP flow list with byte counters and connection state |
| General interface stats | Aggregate IPv4 / IPv6 / TCP / UDP / ICMP / non-IP packet counts per NIC |
| Detailed interface stats | Same as above but for one interface, with packet size and rate detail |
| Statistical breakdowns | Packet size distribution histogram, by TCP / UDP port |
| LAN station monitor | Per-MAC traffic stats for the local broadcast domain |
Exit: press x from any view (or Q from the main menu). ProxMenux shows a reminder dialog before launching.
Logging captures to file
/var/log/iptraf-ng/. Useful if you need a record of a traffic spike — leave it running, log to file, review the file afterwards instead of trying to read the live screen.Bandwidth test (iperf3)
Measures actual TCP throughput between two hosts. Unlike iftop / iptraf-ng (which observe existing traffic), iperf3 generates synthetic traffic to stress-test the link. Indispensable for answering questions like "is my 10 GbE actually doing 10 GbE?" or "is the bottleneck the NIC, the switch, or the storage?".
iperf3 is a two-host tool: one side runs as server (listens on TCP port 5201), the other runs as client (connects, sends data, prints the rate). The ProxMenux launcher asks which mode you want:
| Mode | Behaviour | Equivalent CLI |
|---|---|---|
| Server | Listens on TCP 5201 and prints results for each incoming test. Stops on Ctrl+C. | iperf3 -s |
| Client | Asks for the server IP / hostname, connects, runs a default 10-second test and prints the report. | iperf3 -c <target> |
Typical workflow to test a 10 GbE link between two Proxmox hosts:
- On host A, open the Network menu → Bandwidth test (iperf3) → choose Server.
- On host B, open the same menu entry → choose Client → enter host A's IP.
- Wait 10 seconds. Compare the reported rate to the link's theoretical maximum.
Sample client output:
Connecting to host 10.0.0.10, port 5201 [ 5] local 10.0.0.20 port 53994 connected to 10.0.0.10 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 1.10 GBytes 9.45 Gbits/sec 0 1.55 MBytes [ 5] 1.00-2.00 sec 1.10 GBytes 9.45 Gbits/sec 0 1.55 MBytes [ 5] 2.00-3.00 sec 1.10 GBytes 9.45 Gbits/sec 0 1.55 MBytes ... - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 11.0 GBytes 9.45 Gbits/sec 0 sender [ 5] 0.00-10.00 sec 11.0 GBytes 9.44 Gbits/sec receiver iperf Done.
Useful manual flags (run from a shell)
-t 60 longer test (60s instead of default 10s), -P 4 4 parallel streams (saturates faster), -R reverse direction (server → client), -u -b 100M UDP test at 100 Mbit/s (for jitter / packet loss measurements), -p 5202 use a different port (multiple tests in parallel). man iperf3 for the full set.Open the firewall port on the server
nftables / iptables on bare hosts.First launch installs the package
All three launchers check for the binary and run apt-get update -qq && apt-get install -y <pkg> if missing. The install is silent: the menu may appear frozen for 10–30 seconds the first time. Subsequent launches start instantly.
Troubleshooting
Install hangs forever on first launch
apt-get update manually to see the actual error (DNS, repo signature, proxy …), then come back to the menu.iperf3 client: "unable to connect to server: Connection refused"
ss -tlnp | grep 5201 — should show iperf3 listening. If listening but client still fails, check the firewall path between the two hosts.iperf3 reports way less than the expected link speed
iperf3 -c <target> -P 4 to use multiple cores; (2) the path goes through a slower link (gigabit switch in the middle of two 10 GbE NICs); (3) MTU mismatch — check ip link show on both ends; (4) NIC offloading disabled — see the Disable NIC Offloading community script if you have an Intel e1000e card.iftop / iptraf-ng show no traffic for a busy host
iftop -i vmbr0 or iptraf-ng -i vmbr0. The menu launcher uses the default; for non-default interfaces, run from a console.Related
- Diagnostics — the read-only one-shot checks (routing, connectivity, advanced stats).
- Bridge analysis & guided repair — when monitoring reveals an interface or bridge isn't doing what it should.