Is there a way to get current txqueue utilization on e.g. eth0 or tun device?
For TCP Buffer,you can use
netstat -nt
and look for second and third column for receive and send buffer(Recv-Q,Send-Q)
For UDP
netstat -nua
Same way you can look inside /proc/net/{tcp,udp} and look for tx_queue & rx_queue
Same way you can use
ethtool -S <nic card name> (driver need to support)
NIC statistics:
rx_packets: 445
tx_packets: 48
rx_bytes: 56015
tx_bytes: 5938
rx_broadcast: 336
tx_broadcast: 2
rx_multicast: 89
tx_multicast: 28
rx_errors: 0
tx_errors: 0
tx_dropped: 0
Also just want to add there is one network parameter "tcp_moderate_rcvbuf" which is enabled by default,performs receive buffer auto-tuning.As per kernel-doc
If set, TCP performs receive buffer auto-tuning, attempting to
automatically size the buffer (no greater than tcp_rmem[2]) to
match the size required by the path for full throughput