Wie setze ich ifconfig-Zähler zurück?

16

Wenn ich renne, ifconfig eth0sehe ich folgende Zeilen:

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)

Wie kann ich diese Zähler zurücksetzen, insbesondere RX / TX-Pakete ?

Sonderling
quelle
1
Möglicherweise möchten Sie dies nicht tun, es ist jedoch zu beachten, dass Sie auch einfach Ihren Computer neu starten können. :)
Vreality
6
Ja, Sie können die Zähler zurücksetzen, indem Sie Ihren Computer neu starten. Ist dies jedoch eine gute Wahl? Ist es bequem, alle Programme zu schließen und den Computer neu zu starten, um nur einige Zähler zurückzusetzen? Sie schlagen vor, Restart Engineering Dude, es ist keine Lösung.
SuB

Antworten:

10

Diese Leistungsindikatoren werden vom Kernel verwaltet, sodass Ihre Antwort davon abhängt, wie Ihr Netzwerkkartentreiber aufgebaut ist. Zwei mögliche Entscheidungen:

  1. Kernel-Modul
  2. Im Kernel

Wenn dies der Fall ist, können Sie die Zähler nicht zurücksetzen, ohne das Betriebssystem neu zu starten. Wenn dies der Fall ist, können Sie das Modul aus dem Kernel entfernen und dann wieder laden. Wenn Ihre NIC-Karte das e1000- Modul verwendet, verwenden Sie folgende Befehle:

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

Verwenden Sie ethtool, um Ihr NIC-Modul herauszufinden:

$ ethtool -i eth0

Vor dem Treiber sehen Sie Ihren Modulnamen:

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

Verwenden Sie apt-get, um ethtoolwie folgt zu installieren :

$ apt-get install ethtool
SuB
quelle
modprobe -rEntlädt den Treiber vom Kernel (was dazu führen kann, dass Sie keine Möglichkeit haben, auf den Computer zuzugreifen). Wenn Sie dies aus der Ferne tun, würde ich empfehlen, stattdessen nur einen Neustart durchzuführen.
Score_Under
@Score_Under: Eine bessere Lösung für den Remotezugriff besteht darin, diesen Befehl in eine Bash-Skriptdatei zu schreiben und dann mit folgendem Befehl auszuführen nohup:nohup bash restart_counters_script.sh
SuB
Wissen Sie, wie ich dies mit Loopback-Schnittstelle tun kann? Außerdem: Ist es möglich , den Treiber einfach zu trennen / zu binden, ohne das Kernelmodul zu entfernen?
Pablo Bianchi