Как сбросить счетчики 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
Да, вы можете сбросить счетчики, перезагрузив компьютер, но это хороший выбор? Удобно ли закрыть все программы и перезагрузить компьютер, чтобы просто сбросить счетчики? Вы предлагаете Restart Engineering чувак, это не решение проблемы.
Суббота,

Ответы:


10

Эти счетчики хранятся в ядре, поэтому ваш ответ зависит от того, как собран драйвер вашей сетевой карты. Два возможных варианта:

  1. Модуль ядра
  2. Внутри ядра

Если это второе, вы не можете сбросить счетчики без перезагрузки операционной системы. Если это первое, вы можете сделать это, выгрузив модуль из ядра, а затем снова загрузив его. Если ваша сетевая карта использует модуль e1000 , используйте следующие команды:

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

Используйте, ethtoolчтобы узнать свой модуль NIC:

$ ethtool -i eth0

Перед драйвером вы видите название вашего модуля:

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

Используйте apt-getдля установки ethtoolследующим образом:

$ apt-get install ethtool

modprobe -rвыгружает драйвер из ядра (что может привести к невозможности доступа к машине), поэтому, если вы делаете это удаленно, я бы посоветовал просто перезагрузиться.
Score_Under

@Score_Under: Лучшее решение для удаленного доступа - записать эти команды в файл сценария bash, а затем запустить их nohup, например:nohup bash restart_counters_script.sh
SuB

Вы знаете, как я могу сделать это с помощью петлевого интерфейса? Также: возможно ли просто отсоединить / привязать драйвер, не удаляя модуль ядра?
Пабло Бьянки
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.