Como limpo as estatísticas da interface no Linux

16

Portanto, um de meus clientes configurou um de seus comutadores e a configuração resultante resultou em uma incompatibilidade duplex entre o comutador e um host Linux.

Corrigimos a incompatibilidade duplex, mas existe uma maneira fácil de limpar os contadores de erros na interface sem reiniciar o sistema?

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
fonte

Respostas:

14

isso não se destina, ou pensa que seja feito. Você pode descarregar e carregar novamente o driver de rede se ele estiver carregado como um módulo:

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

De qualquer maneira, haverá uma interrupção na rede e um risco se você não conseguir recuperar a mão.

Você pode redefinir as estatísticas da porta do switch e verificar se há novos erros. Ou salve esse número atual e compare com eles em vez de zero

Mathieu Chateau
fonte
+1. Os contadores, por sua natureza, devem ser comparados com seu valor anterior, independentemente de qual seja esse valor.
Womble
Observe que os módulos do kernel raramente são chamados de ethX , se é que alguma vez. Eles são chamados de acordo com o hardware real, como ne2k, tulipa ou qualquer outra coisa. Portanto, os comandos rmmod e insmod devem ser alterados de acordo com suas NICs.
Jcoppens # 13/14
Como dito nesta resposta do AskUbuntu, você deve obter o driver da NIC, por exemplo, com ethtool -i eth0. Além disso, você pode simplesmente desvincular / vincular o driver .
Pablo A
5

Você viu este artigo?

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

Ele sugere que descarregar o módulo do driver de rede e carregá-lo novamente redefinirá os contadores e que, se você tiver o módulo estaticamente vinculado no kernel, não haverá outra maneira senão reiniciá-lo.

O artigo oferece justificativa.

Vinko Vrsalovic
fonte
1

Redimensione os buffers de toque e as estatísticas serão redefinidas sem tempo de inatividade.

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

(RHEL 6.5)

user2840748
fonte
Tomada interessante. Parece não funcionar para interfaces vmxnet e sem fio.
Rui F Ribeiro
1
Também não funciona na Ethernet. ;) (Ubuntu 14.04)
Tomislav Nakic-Alfirevic