如何重置ifconfig计数器?


16

当我运行时,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)

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


1
尽管您可能不想这样做,但值得注意的是,您也可以仅重新启动计算机。:)
Vreality

6
是的,您可以通过重新启动计算机来重置计数器,但这是一个不错的选择吗?关闭所有程序并重新启动计算机以重置一些计数器是否舒服?您建议重新启动Engineering dude,这不是解决方案。
2013年

Answers:


10

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

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

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

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

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

$ ethtool -i eth0

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

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

使用apt-get安装ethtool如下:

$ apt-get install ethtool

modprobe -r从内核中卸载驱动程序(这可能会使您无法使用访问计算机的方法),因此,如果您要远程执行此操作,我建议您只是重新启动即可。
得分_

@Score_Under:一种更好的远程访问解决方案是将这些命令写入bash脚本文件,然后使用进行运行nohup,即:nohup bash restart_counters_script.sh
SuB

您知道如何使用回送接口吗?另外:是否可以仅在不删除内核模块的情况下解除绑定/绑定驱动程序?
巴勃罗·比安奇
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.