3

Я делаю школьный проект, в котором я хочу получить пропускную способность сетевого интерфейса в любую секунду или в какой-то другой небольшой промежуток времени. Мне это нужно для сценария Perl, над которым я работаю. Поэтому он должен быть неинтерактивным и просто печатать результаты.

Какие-либо предложения?

2 ответа2

3

Количество байтов, отправленных и полученных eth0 с момента запуска интерфейса, можно прочитать в /sys/class/net/eth0/statistics/tx_bytes и /sys/class/net/eth0/statistics/rx_bytes соответственно. Количество пакетов можно прочитать в …/tx_packets и …/rx_packets . Если у вас более старое ядро, которое не предоставляет эти файлы, данные доступны в выходных данных /sbin/ifconfig eth0 .

0

Простой подход был бы:

  • выполнить interface name ifconfig один раз, записать его вывод
  • извлечь значения из "байтов RX" и "байтов TX"
  • подождите одну секунду
  • повторите первые два шага снова
  • вычислить дельты

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .