Прежде всего, я нашел похожий вопрос, но он не решает мою проблему. Я пытаюсь выяснить, является ли узкополосным местом в моей программе является шина USB для устройства, которое я использую.
Как я могу контролировать шину USB (аналогично тому, как работает gnome-system-monitor), чтобы показать использование шины? По сути, я хочу определить, когда автобус «разгоняется». Я думаю, что я ищу какой-то интерфейс для usbmon, так как кажется, что он будет делать то, что мне нужно.
Это произошло из-за тестирования USRP и GNU Radio. Я сталкиваюсь с ситуацией, когда кажется, что шина USB может быть ограничивающим фактором, поэтому я задаю более общий вопрос о мониторинге производительности USB.
usb
performance
monitoring
Мистер Шикаданс
источник
источник
Ответы:
Так как usbmon предоставляет длину каждого передаваемого пакета, я бы подошел к этому, написав быструю программу для анализа
0u
файла (который содержит данные для всех USB-устройств). Он будет выбирать шину USB и номера устройств, а затем сохранять итоговую сумму: поле длины пакета в обоих направлениях для каждого устройства.Это даст вам количество данных, передаваемых на устройство, в каждом направлении. Если вы напечатаете его раз в секунду, вы получите довольно хорошее представление о пропускной способности каждого устройства. Обратите внимание, что он не будет включать какие-либо издержки USB, но если вы сравните цифры с устройством, способным насытить доступную полосу пропускания, вы поймете, приближаетесь ли вы к пределу.
источник
Используйте usbtop , он дает хороший обзор того, какие устройства используют сколько пропускной способности:
источник
usbtop
. Это выглядит полезным. Вот как это сделать: unix.stackexchange.com/a/489268/114401 .apt install usbtop
.1. usbtop:
Как указывает Себас , usbtop, похоже, дает определенный минимальный уровень полезной информации (хотя это может быть намного лучше), поэтому я рекомендую его.
Вот как это установить:
Клонировать репозиторий git:
Перейдите в каталог, который только что был создан из
git clone
:Установить зависимости:
Создайте локальный каталог сборки и CD в нем:
Запустите cmake, чтобы подготовить сборку usbtop из исходного кода:
Сборка usbtop из источника:
Установите usbtop:
Загрузите модуль ядра usbmon, чтобы открыть доступ к шинам USB (я думаю, это то, что нужно, но я знаю, что это необходимо):
Запустите usbtop (если это не работает, используйте
sudo usbtop
вместо этого):Если я что-то пропустил, дайте мне знать в комментариях.
Установить ссылки:
2. Обновление: вы также можете использовать
iostat
вместо:Запуск с интервалом в 1 секунду с:
ИЛИ с интервалом 0,1 с:
Пример вывода
iostat -d 1
:Ссылки:
/ubuntu/3561/how-do-i-monitor-disk-activity-on-a-specific-drive
Дополнительное чтение:
https://www.znetlive.com/blog/monitor-disk-io-windows-linux/
Связанный:
источник
Я написал пару сценариев оболочки для получения пропускной способности USB-устройства. Если кто-то, что его использовать, вы можете найти его в этом посте .
источник
usbmon
что нужно устанавливать / компилировать (?) Вручную.Используя
htop
, я нажалF2
дляSetup
выбранных столбцов, добавилIO_READ_RATE
,IO_WRITE_RATE
илиIO_RATE
, и я смог увидеть скорость, с которой процессы читали или записывали с и на диски.источник