# cat /proc/net/udp | egrep "sl|3ADBFE0A"
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode ref pointer drops
16: 3ADBFE0A:007B 00000000:0000 07 00000000:00000000 00:00000000 00000000 74 0 40124 2 f203ca80 0
509: 3ADBFE0A:0868 00000000:0000 07 00008C00:00000000 00:00000000 00000000 0 0 79208333 2 ea226340 0
我想寻求更深入,更初学者友好的解释“cat proc / net / udp”输出的字段,尤其是tx_queue。如果我的理解是正确的,当这[tx_queue]值大于0时,意味着有更多的数据包等待发送,而且应用程序的速度不足以发送这些数据包?
答案 0 :(得分:5)
反过来说:如果您的应用程序生成数据的速度比网络适配器发送数据的速度快(通常是这种情况),那么tx_queue
是> 0
tx_queue
是当前正在由尚未发送的传出数据包使用的内核内存。它们尚未发送,因为内核和网络适配器(不是应用程序)还无法发送它们,很可能是因为它们正在忙于发送其他内容。
在此缓冲区中等待很短时间的数据量是完全正常的。
应用程序通常不需要担心任何这些数字。