Назад | Перейти на главную страницу

статистика интерфейса iproute2 кажется неправильной

По какой-то причине ip -s link не показывает те же числа, что и /proc/net/dev, в частности счетчик перерасхода.

Для данного интерфейса ip не показывает переполненных пакетов:

$ ip -s link show eth-ext1
7: eth-ext1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:08:a2:0d:00:74 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    1038103044434 1099087192 0       0       0       401298  
    TX: bytes  packets  errors  dropped carrier collsns 
    543051882227 844808055 0       0       0       0       

Пока в proc мы видим ненулевое переполнение (это то, что я предполагаю fifo имеет в виду):

$ cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
[...]
eth-ext1: 1038106099296 1099090833    0    0 467554     0          0    401301 543052535442 844810749    0    0    0     0       0          0

Я склонен полагать, что на интерфейсе действительно были пакеты переполнения, поэтому кажется, что вывод ip link не является правильным. Что мне не хватает?

fifo и overrun - это не одно и то же. Просто введите ip -s -s a, будет что-то вроде этого

RX: bytes  packets  errors  dropped overrun mcast
53152      864      0       0       0       0
RX errors: length   crc     frame   fifo    missed
           0        0       0       0       0
TX: bytes  packets  errors  dropped carrier collsns
53152      864      0       0       0       0
TX errors: aborted  fifo   window heartbeat transns
           0        0       0       0       0

overrun - общее количество переполнений приемника, приводящих к отброшенным пакетам. Как правило, переполнение интерфейса означает серьезные проблемы в ядре или то, что ваша машина слишком медленная для этого интерфейса.

fifo (файл входной файл выход) ошибки