# 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
Saya ingin mencari penjelasan ramah yang lebih dalam dan lebih pemula dari bidang "cat proc / net / udp" output, terutama tx_queue.
Dari halaman manual proc (5):
/proc/net/udp
Holds a dump of the UDP socket table. Much of the information is not of use apart from debugging. The "sl" value is the kernel hash slot for the socket, the "local address" is the local address and
port number pair. The "remote address" is the remote address and port number pair (if connected). ’St’ is the internal status of the socket. The ’tx_queue’ and ’rx_queue’ are the outgoing and incom-
ing data queue in terms of kernel memory usage. The "tr", "tm->when", and "rexmits" fields hold internal information of the kernel socket state and are only useful for debugging. The "uid" field
holds the effective UID of the creator of the socket.
Jika saya benar dengan pemahaman saya bahwa ketika nilai [tx_queue] ini lebih besar dari 0 yang berarti bahwa ada lebih banyak paket yang menunggu untuk dikirim dan bahwa aplikasi tidak cukup cepat untuk mengirim paket-paket itu?
linux
networking
udp
sockets
ketakutan
sumber
sumber
Jawaban:
Jika
tx_queue
lebih besar dari0
, maka itu adalah OS yang tidak dapat mengirimkan paket secepat aplikasi pengirim mencoba mengirimkannya. Saya kira itu juga bisa berarti bahwa Ethernet Flow Control sedang bekerja. Bagaimanapun, aplikasi pengiriman bukan pelakunya.Nilai aktual dalam
tx_queue
akan heksadesimal.sumber