# 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.

Из справочной страницы 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.

Если я правильно понимаю, что когда это значение [tx_queue] больше 0, это означает, что имеется больше пакетов, ожидающих отправки и что приложение недостаточно быстрое для отправки этих пакетов?

1 ответ1

0

Если tx_queue больше 0, то это ОС, которая не может доставлять пакеты так быстро, как отправляющее приложение пытается их отправить. Я думаю, это также может означать, что Ethernet Flow Control работает. В любом случае отправляющая заявка не является виновником.

Фактическое значение в tx_queue будет шестнадцатеричным.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .