먼저, 나는비슷한질문이 있지만 실제로 내 문제가 해결되지는 않습니다. 내가 사용하고 있는 장치의 USB 버스가 내 프로그램에 병목 현상을 일으키는지 알아보려고 합니다.
버스 활용도를 표시하기 위해 USB 버스(gnome-system-monitor 작동 방식과 유사)를 모니터링하려면 어떻게 해야 합니까? 기본적으로 버스가 "최대화"되는 시기를 결정하고 싶습니다. 내가 찾고 있는 것은 usbmon에 대한 인터페이스라고 생각합니다. 왜냐하면 이것이 내 필요에 적합할 것 같기 때문입니다.
이 문제는 USRP 및 GNU Radio를 테스트하는 동안 발생했습니다. USB 버스가 제한 요소인 것 같은 상황에 부딪혀 USB 성능 모니터링에 대해 좀 더 일반적인 질문을 했습니다.
답변1
사용USB 플래시 드라이브, 어떤 장치가 얼마나 많은 대역폭을 사용하고 있는지에 대한 좋은 개요를 제공합니다.
Bus ID 1 (USB bus number 1) To device From device
Device ID 1 : 0.00 kb/s 0.00 kb/s
Device ID 2 : 0.00 kb/s 0.00 kb/s
Bus ID 2 (USB bus number 2) To device From device
Device ID 1 : 0.00 kb/s 0.00 kb/s
Device ID 4 : 141.73 kb/s 13777.68 kb/s
Device ID 5 : 9.98 kb/s 11.24 kb/s
Device ID 6 : 0.00 kb/s 0.00 kb/s
Device ID 7 : 0.00 kb/s 0.00 kb/s
Device ID 8 : 141.71 kb/s 15257.26 kb/s
답변2
1.USB 인터페이스:
~처럼세바스찬이 지적했다.,USB 플래시 드라이브(더 좋을 수도 있지만) 최소한의 유용한 정보를 제공하는 것 같아서 추천합니다.
설치 방법은 다음과 같습니다( usbtop
소스에서 빌드).
- Git 저장소를 복제합니다.
git clone https://github.com/aguinet/usbtop.git
- 방금 생성한 디렉터리로 이동합니다
git clone
.cd usbtop
- 종속성을 설치합니다.
sudo apt update sudo apt install \ libboost-dev \ libpcap-dev \ libboost-thread-dev \ libboost-system-dev \ cmake \ build-essential
- 로컬 빌드 디렉터리를 만들고 입력합니다.
mkdir _build && cd _build
- cmake를 실행하여 소스에서 빌드할 usbtop을 준비합니다.
cmake -DCMAKE_BUILD_TYPE=Release ..
- 소스에서 usbtop을 빌드합니다.
make
- USBtop을 설치합니다:
sudo make install
- usbmon 커널 모듈을 로드하여 USB 버스에 대한 액세스를 엽니다(그렇다고 생각하지만 필수라는 것을 알고 있습니다).
sudo modprobe usbmon
- usbtop을 실행합니다(작동하지 않으면 대신 사용하세요
sudo usbtop
).usbtop
제가 놓친 부분이 있다면 댓글로 알려주세요.
설치 참조:
- https://github.com/aguinet/usbtop/blob/master/INSTALL
- https://github.com/aguinet/usbtop/issues/3#issuecomment-274325720
2. 업데이트: 다음을 사용할 수도 있습니다 iostat
.
sudo apt install sysstat
1초 간격으로 실행:
iostat -d 1
또는 0.1초 간격으로:
watch -n 0.1 iostat
출력 예 iostat -d 1
:
인용하다:
https://askubuntu.com/questions/3561/how-do-i-monitor-disk-activity-on-a-specific-drive
추가 자료:
https://www.znetlive.com/blog/monitor-disk-io-windows-linux/
관련된:
답변3
~부터usbmon전송된 각 패킷의 길이를 고려하여 0u
모든 USB 장치에 대한 데이터가 포함된 파일을 구문 분석하는 빠른 프로그램을 작성하여 이 문제를 해결했습니다. USB 버스와 장치 번호를 선택한 다음 양방향에서 각 장치에 대한 패킷 길이 필드의 누적 합계를 유지합니다.
그러면 각 장치가 각 방향으로 전송하는 데이터의 양이 제공됩니다. 초당 한 번씩 인쇄하면 각 장치의 처리량을 잘 알 수 있습니다. USB 오버헤드는 포함되지 않지만 이 수치를 사용 가능한 대역폭을 포화시킬 수 있는 장치와 비교하면 한계에 가까워지고 있는지 알 수 있습니다.
답변4
을 사용하여 , 열 선택, 추가 또는 를 누르면 htop
프로세스 가 디스크에서 읽고 쓰는 속도를 확인할 수 있습니다.F2
Setup
IO_READ_RATE
IO_WRITE_RATE
IO_RATE