Entendendo “cat proc / 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

Eu gostaria de buscar uma explicação mais profunda e mais amigável aos iniciantes sobre os campos da saída "cat proc / net / udp", especialmente o tx_queue.

Da página man 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.

Se eu estiver correto com o meu entendimento de que quando este valor [tx_queue] é maior que 0 significa que há mais pacotes que estão aguardando para serem enviados e que o aplicativo não é rápido o suficiente para enviar esses pacotes?

    
por fearfox 17.12.2015 / 11:00

1 resposta

0

Se tx_queue for maior que 0, então o sistema operacional que não pode entregar pacotes tão rápido quanto o aplicativo de envio está tentando enviá-los. Eu acho que isso também poderia significar que o Controle de Fluxo Ethernet está funcionando. De qualquer forma, o aplicativo de envio não é o culpado.

O valor real em tx_queue será hexadecimal.

    
por 22.02.2016 / 10:55