Як скинути лічильники 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
Так, ви можете скинути лічильники, перезавантаживши комп'ютер, але це хороший вибір? Чи зручно закривати всі програми та перезавантажувати комп’ютер, щоб просто скинути деякі лічильники? Ви пропонуєте перезапустити інженера , це не рішення.
SuB

Відповіді:


10

Ці лічильники зберігаються ядром, тому ваша відповідь залежить від того, як побудований драйвер мережевої карти. Можливі два варіанти:

  1. Модуль ядра
  2. Всередині ядра

Якщо це друге, ви не можете скинути лічильники без перезавантаження операційної системи. Якщо це спочатку, ви можете зробити це, вивантаживши модуль з ядра і знову завантаживши його назад. Якщо ваша картка NIC використовує модуль 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.