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

16

Поэтому один из моих клиентов настроил один из своих коммутаторов, и полученная конфигурация привела к дуплексному несоответствию между коммутатором и хостом 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)
Zoredache
источник

Ответы:

14

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

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

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

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

Матье Шато
источник
+1. Счетчики по своей природе должны сравниваться с их предыдущим значением, независимо от того, какое это значение было.
womble
Обратите внимание, что модули ядра редко называются ethX , если вообще когда-либо. Они называются в соответствии с фактическим оборудованием, таким как ne2k, tulip или чем-то еще. Таким образом, команды rmmod и insmod должны быть изменены в соответствии с вашими сетевыми картами.
Jcoppens
Как сказано в этом ответе AskUbuntu, вы должны получить драйвер NIC, например, с ethtool -i eth0. Также вы можете просто отсоединить / связать драйвер .
Пабло А
5

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

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

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

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

Винко Врсалович
источник
1

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

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

(РЕЛ 6.5)

user2840748
источник
Интересный дубль. Кажется, не работает для vmxnet и беспроводных интерфейсов.
Руи Ф Рибейро
1
Это также не работает на Ethernet. ;) (Ubuntu 14.04)
Томислав Накич-Альфиревич