netqtop [-n nic] [-i interval] [-t throughput]
netqtop accounts statistics of both transmitted and received packets on each queue of a specified network interface to help developers check if its traffic load is balanced. The result is displayed as a table with columns of PPS, BPS, average size and packet counts in range [0,64), [64, 5120), [512, 2048), [2048, 16K), [16K, 64K). This is printed every given interval (default 1) in seconds.
The tool uses the net:net_dev_start_xmit and net:netif_receive_skb kernel tracepoints. Since it uses tracepoint, the tool only works on Linux 4.7+.
netqtop introduces significant overhead while network traffic is large. See Overhead section below.
CONFIG_bpf and bcc
- -n NIC
Specify the network interface card
- -i INTERVAL
Print results every INTERVAL seconds. The default value is 1.
- -t THROUGHPUT
Print BPS and PPS of each queue.
- Account statistics of eth0 and output every 2 seconds:
# netqtop -n eth0 -i 1
In performance test, netqtop introduces a overhead up to 30% PPS drop while printing interval is set to 1 second. So be mindful of potential packet drop when using this tool.
It also increases ping-pong latency by about 1 usec.
This is from bcc
Also look in the bcc distribution for a netqtop_example.txt file containing example usage, output and commentary for this tool.
Unstable - in development