Каковы значения полей в / proc / net / dev? - PullRequest
19 голосов
/ 19 августа 2010

Файл Linux / proc / net / dev выглядит так:

[me@host ~]$ cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed

Что означают поля drop и errs ?

Некоторые ошибки пакеты также учитываются в пакетах drop ?

Почему пакет считается ошибками , потому что он страдает от ошибки контрольной суммы?

Почему пакет отброшен? Это потому, что в системе недостаточно буфера, потому что на сетевой плате есть какой-то пакет?

Учитывают ли эти два поля пакеты, предназначенные для другого хоста (например, когда сетевой адаптер работает в случайном режиме)?

Ответы [ 3 ]

19 голосов
/ 09 февраля 2011

Вы можете взглянуть на net/core/dev.c в дереве исходных текстов, чтобы увидеть, что это означает:

seq_printf(seq, "%6s:%8lu %7lu %4lu %4lu %4lu %5lu %10lu %9lu "
       "%8lu %7lu %4lu %4lu %4lu %5lu %7lu %10lu\n",
       dev->name,
       stats->rx_bytes,
       stats->rx_packets,
       stats->rx_errors,
       stats->rx_dropped + stats->rx_missed_errors,
       stats->rx_fifo_errors,
       stats->rx_length_errors + stats->rx_over_errors +
        stats->rx_crc_errors + stats->rx_frame_errors,
       stats->rx_compressed,
       stats->multicast,
       stats->tx_bytes,
       stats->tx_packets,
       stats->tx_errors,
       stats->tx_dropped,
       stats->tx_fifo_errors,
       stats->collisions,
       stats->tx_carrier_errors + stats->tx_aborted_errors +
        stats->tx_window_errors + stats->tx_heartbeat_errors,
       stats->tx_compressed);

Итак:

  • получать ошибки означает любой тип недопустимого пакетаНапример, недопустимая длина или недопустимая контрольная сумма
  • ошибки передачи
    • ошибки оператора
    • прерванные ошибки
    • ошибки окна
    • ошибки сердцебиения
      (что бы они ни значили)

И да, я думаю, что drop отбрасывает средства, когда устройство отбрасывает пакет, поскольку у него заканчивается буферное пространство.

8 голосов
/ 28 ноября 2014

Согласно http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html, значения каждого из столбцов:

байтов Общее количество байтов данных, переданных или полученных интерфейсом.

пакетов Общее количество пакетов данных, переданных или полученных интерфейсом.

errs Общее количество ошибок передачи или приема, обнаруженныхдрайвер устройства.

drop Общее количество пакетов, сброшенных драйвером устройства.

fifo Количество ошибок буфера FIFO.

frame Количество ошибок кадрирования пакета.

colls Количество коллизий, обнаруженных на интерфейсе.

сжатые Количество сжатых пакетов, переданных или полученных драйвером устройства.(Похоже, он не используется в ядре 2.2.15.)

carrier Количество потерь несущей, обнаруженных драйвером устройства.

multicast Количество многоадресных кадров, переданных или полученных драйвером устройства.

0 голосов
/ 09 февраля 2011

Поскольку никто не отвечал в течение почти шести месяцев, я могу свободно размышлять:

Я не думаю, что ошибки и капли перекрываются. Я также думаю, что errs являются контрольной суммой или другими неверными данными в принятом пакете (т.е. недостаточно данных для составления целого пакета). Кроме того, я считаю, что капли применимы только к исходящим пакетам - как система узнает о сброшенных пакетах где-то еще?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...