如何重置 ifconfig 计数器?

odd*_*one 16 networking ifconfig reset 12.04

当我运行时ifconfig eth0看到以下几行:

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)
Run Code Online (Sandbox Code Playgroud)

我如何重置这些计数器,尤其是RX/TX 数据包

SuB*_*SuB 11

这些计数器由内核保存,因此您的答案取决于您的网卡驱动程序的构建方式。两种可能的选择:

  1. 内核模块
  2. 内核内部

如果是秒,则在不重新启动操作系统的情况下无法重置计数器。如果是第一个,您可以通过从内核卸载模块然后再次加载它来完成。如果您的网卡使用e1000模块,请使用以下命令:

$ ifconfig eth0 down
$ modprobe -r e1000
$ modprobe e1000
$ ifconfig eth0 up
Run Code Online (Sandbox Code Playgroud)

使用ethtool找出你的网卡模块:

$ ethtool -i eth0
Run Code Online (Sandbox Code Playgroud)

驱动程序前面,您会看到您的模块名称:

driver: e1000
version: 7.3.21-k8-NAPI
firmware-version: 
...
Run Code Online (Sandbox Code Playgroud)

使用apt-get安装ethtool如下:

$ apt-get install ethtool
Run Code Online (Sandbox Code Playgroud)