Назад | Перейти на главную страницу

Есть ли способ получить текущее использование txqueue, например, eth0 или tun устройство?

Я обнаружил капли на моем tun0 интерфейс.

Похоже, они были вызваны низким txqueuelen настройка. Теперь, когда я увеличил txqueuelen значение для сетевого устройства, и еще нет сбросов - мне интересно, есть ли способ получить фактическое текущее использование буфера сетевого устройства?

Для буфера TCP вы можете использовать

       netstat -nt 

и найдите второй и третий столбцы для буфера приема и отправки (Recv-Q, Send-Q)

Для UDP

       netstat -nua

Таким же образом вы можете заглянуть в / proc / net / {tcp, udp} и найти tx_queue и rx_queue

Таким же образом вы можете использовать

          ethtool -S <nic card name>  (driver need to support)


                NIC statistics:
                rx_packets: 445
                tx_packets: 48
                rx_bytes: 56015
                tx_bytes: 5938
                rx_broadcast: 336
                tx_broadcast: 2
                rx_multicast: 89
                tx_multicast: 28
                rx_errors: 0
                tx_errors: 0
                tx_dropped: 0

Также просто хочу добавить, что есть один сетевой параметр "tcp_moderate_rcvbuf", который включен по умолчанию, выполняет автонастройку буфера приема. Согласно документации ядра

     If set, TCP performs receive buffer auto-tuning, attempting to
     automatically size the buffer (no greater than tcp_rmem[2]) to
     match the size required by the path for full throughput