Откуда nload получает данные о пропускной способности?

tl; dr Использование полосы пропускания, записанное nload ( домашняя страница ), выше, чем то, что обеспечивается tcpdump ( home page ).

Кажется, есть разница в использовании полосы пропускания при запуске tcpdump -e -w - | pv -a> / dev / null в отличие от запуска nload .

Например, Я видел использование полосы пропускания 150 кбит / с с использованием nload , но только 30 кбит / с с использованием tcpdump . Чтобы исключить pv , я сделал следующее:

# open a tmux session where tcpdump dumps all traffic into a file for 60 seconds
$ tmux new-session -d -s tcpdump_60secs 'tcpdump -e -w tempfile' && sleep 60 && tmux kill-server

$ wc -c tempfile
# divide by 60, resulting in bytes per second

Любые указатели на то, как nload получает статистику пропускной способности, будут оценены.

Реплицируется в чистой установке Ubuntu 18.04 на контейнере LXC proxmox, протестированном с nload build с использованием commit 8f92dc0.

2
задан 14 May 2020 в 00:42

1 ответ

Я просмотрел исходный код, и оказалось, что данные в основном приходят из / proc / net / dev Ссылка на GitHub

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

0
ответ дан 19 June 2020 в 21:40

Другие вопросы по тегам:

Похожие вопросы: