Memahami “proc kucing / net / udp”

0
# 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?

ketakutan
sumber

Jawaban:

0

Jika tx_queuelebih besar dari 0, 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_queueakan heksadesimal.

Eugene Beresovsky
sumber