Przede wszystkim znalazłem podobne pytanie, ale tak naprawdę to nie rozwiązuje mojego problemu. Próbuję dowiedzieć się, czy szyna USB dla urządzenia, którego używam, stanowi wąskie gardło w moim programie.
Jak mogę monitorować magistralę USB (podobnie jak działa gnome-system-monitor), aby pokazać wykorzystanie magistrali? Zasadniczo chcę ustalić, kiedy autobus jest „maksymalizowany”. Wydaje mi się, że szukam interfejsu dla usbmon, ponieważ wygląda na to, że zrobiłby to, czego potrzebuję.
Wynikało to z testowania USRP i GNU Radio. Wpadam na sytuację, w której wydaje się, że magistrala USB może być czynnikiem ograniczającym, więc zadaję bardziej ogólne pytanie dotyczące monitorowania wydajności USB.
usb
performance
monitoring
Pan Shickadance
źródło
źródło
Odpowiedzi:
Ponieważ usbmon podaje długość każdego przesyłanego pakietu, podchodzę do tego pisząc szybki program do analizy
0u
pliku (który zawiera dane dla wszystkich urządzeń USB). Wybiera numery magistrali USB i numery urządzeń, a następnie utrzymuje bieżącą sumę pole długości pakietu w obu kierunkach dla każdego urządzenia.To da ci ilość danych przesłanych na urządzenie, w każdym kierunku. Jeśli wydrukujesz go raz na sekundę, uzyskasz całkiem niezły obraz wydajności każdego urządzenia. Pamiętaj, że nie obejmie to żadnego obciążenia USB, ale jeśli porównasz liczby z urządzeniem, które jest w stanie nasycić dostępną przepustowość, będziesz wiedział, czy zbliżasz się do limitu.
źródło
Użyj usbtop , daje ładny przegląd tego, jakie urządzenia używają przepustowości:
źródło
usbtop
. Wygląda na użyteczne. Oto jak go zainstalować: unix.stackexchange.com/a/489268/114401 .apt install usbtop
.1. usbtop:
Jak wskazuje Seba , usbtop wydaje się dawać pewien minimalny poziom użytecznych informacji (chociaż może być znacznie lepszy), więc polecam.
Oto jak go zainstalować:
Sklonuj repozytorium git:
Przejdź do katalogu, który właśnie został utworzony z
git clone
:Zainstaluj zależności:
Utwórz lokalny katalog kompilacji i włóż do niego cd:
Uruchom cmake, aby przygotować się do zbudowania usbtop ze źródła:
Zbuduj usbtop ze źródła:
Zainstaluj usbtop:
Załaduj moduł jądra usbmon, aby otworzyć dostęp do magistrali USB (myślę, że tak właśnie działa, ale wiem, że jest wymagany):
Uruchom usbtop (jeśli to nie działa, użyj
sudo usbtop
zamiast tego):Jeśli coś przeoczyłem, daj mi znać w komentarzach.
Zainstaluj referencje:
2. Aktualizacja: Możesz również użyć
iostat
zamiast tego:Uruchom w odstępach 1-sekundowych z:
LUB w odstępach 0,1 sekundy z:
Przykładowa wydajność
iostat -d 1
:Bibliografia:
/ubuntu/3561/how-do-i-monitor-disk-activity-on-a-specific-drive
Dodatkowe czytanie:
https://www.znetlive.com/blog/monitor-disk-io-windows-linux/
Związane z:
źródło
Napisałem parę skryptów powłoki, aby uzyskać przepustowość z urządzenia USB. Jeśli ktoś, co z niego korzystać, możesz go znaleźć w tym poście .
źródło
usbmon
które należy zainstalować / skompilować (?) Ręcznie.Korzystanie
htop
, NacisnąłemF2
naSetup
, wybranych kolumn, dodaneIO_READ_RATE
,IO_WRITE_RATE
lubIO_RATE
, i udało mi się zobaczyć prędkość, przy której procesy zostały odczytywania lub zapisywania zi do dysków.źródło