Jak zresetować liczniki ifconfig?

16

Po uruchomieniu ifconfig eth0zobacz następujące wiersze:

eth0      Link encap:Ethernet  HWaddr 08:00:27:42:81:a7  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe42:81a7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:66 errors:0 dropped:0 overruns:0 frame:0
          TX packets:212 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8001 (8.0 KB)  TX bytes:34004 (34.0 KB)

Jak mogę zresetować te liczniki, zwłaszcza pakiety RX / TX ?

dziwny
źródło
1
Chociaż możesz tego nie chcieć, warto zauważyć, że możesz także ponownie uruchomić komputer. :)
Vreality
6
Tak, możesz zresetować liczniki poprzez ponowne uruchomienie komputera, ale czy to dobry wybór? Czy wygodnie jest zamknąć wszystkie programy i ponownie uruchomić komputer, aby zresetować niektóre liczniki? Sugerujesz, zrestartuj Inżyniera , to nie jest rozwiązanie.
SuB

Odpowiedzi:

10

Liczniki te są przechowywane przez jądro, więc twoja odpowiedź zależy od budowy sterownika karty sieciowej. Dwie możliwe opcje:

  1. Moduł jądra
  2. Wewnątrz jądra

Jeśli jest drugi, nie można zresetować liczników bez ponownego uruchomienia systemu operacyjnego. Jeśli jest pierwszy, możesz to zrobić, usuwając moduł z jądra, a następnie ładując go ponownie. Jeśli Twoja karta sieciowa korzysta z modułu e1000 , użyj następujących poleceń:

$ ifconfig eth0 down
$ modprobe -r e1000
$ modprobe e1000
$ ifconfig eth0 up

Użyj, ethtoolaby znaleźć swój moduł NIC:

$ ethtool -i eth0

Przed sterownikiem widoczna jest nazwa modułu:

driver: e1000
version: 7.3.21-k8-NAPI
firmware-version: 
...

Użyj, apt-getaby zainstalować ethtoolw następujący sposób:

$ apt-get install ethtool
Pod
źródło
modprobe -rzwalnia sterownik z jądra (co może pozostawić cię bez metody dostępu do komputera), więc jeśli robisz to zdalnie, radzę zamiast tego zrestartować komputer.
Score_Under
@Score_Under: Lepszym rozwiązaniem dla dostępu zdalnego jest zapisanie tych poleceń w pliku skryptu bash, a następnie uruchomienie go nohup, np .:nohup bash restart_counters_script.sh
SuB
Czy wiesz, jak mogę to zrobić za pomocą interfejsu pętli zwrotnej? Ponadto: czy można po prostu usunąć powiązanie / powiązanie sterownika bez usuwania modułu jądra?
Pablo Bianchi