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

Как очистить статистику интерфейса в Linux

Итак, один из моих клиентов настроил один из своих коммутаторов, и полученная конфигурация привела к несоответствию дуплексного режима между коммутатором и хостом Linux.

Мы устранили несоответствие дуплексного режима, но есть ли простой способ сбросить счетчики ошибок на интерфейсе без перезапуска системы?

eth0      Link encap:Ethernet  HWaddr 00:nn:nn:nn:nn:nn
          inet addr:192.168.97.166  Bcast:192.168.97.167  Mask:255.255.255.252
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:630331763 errors:1 dropped:0 overruns:0 frame:0
          TX packets:676081436 errors:1971815 dropped:0 overruns:68637 carrier:1903180
          collisions:7649984 txqueuelen:1000 
          RX bytes:2067682611 (1.9 GiB)  TX bytes:1942809411 (1.8 GiB)

это не предназначено и не предполагается сделать. Вы можете выгрузить и снова загрузить сетевой драйвер, если он загружен как модуль:

ifconfig ethX down; rmmod ethX; insmod ethX; ifconfig ethX

В любом случае произойдет сбой в сети, и возникнет риск, если вы не сможете снова его задействовать.

Вы можете сбросить статистику порта коммутатора и проверить наличие новых ошибок. Или сохраните это текущее число и сравните с ним вместо нуля

Вы видели эту статью?

http://www.ducea.com/2006/09/08/resetting-ifconfig-counters/

Он предполагает, что выгрузка модуля сетевого драйвера и его загрузка сбросят счетчики, и что, если у вас есть модуль, статически связанный в ядре, нет другого способа, кроме его перезагрузки.

Статья предлагает обоснование.

Измените размер кольцевых буферов, и статистика будет сброшена без простоев.

ethtool -G eth1 rx 511
ethtool -G eth1 rx 4096

(RHEL 6.5)