우선, 비슷한 질문을 찾았 지만 실제로 문제를 해결하지는 못합니다. 사용중인 장치의 USB 버스가 프로그램의 병목 현상인지 확인하려고합니다.
버스 사용률을 표시하기 위해 USB 버스 (gnome-system-monitor 작동 방식과 유사)를 어떻게 모니터링 할 수 있습니까? 기본적으로 버스가 ‘최대화’되는시기를 식별하고 싶습니다. 내가 찾고있는 것은 usbmon을위한 인터페이스라고 생각합니다. 필요한 일을하는 것처럼 보입니다.
이것은 USRP와 GNU Radio를 테스트 한 결과입니다. USB 버스가 제한 요인이 될 수있는 상황에 처해 있으므로 USB 성능 모니터링에 대한보다 일반적인 질문을합니다.
답변
usbmon 은 전송 된 각 패킷의 길이를 제공 하므로 빠른 프로그램을 작성하여 0u
파일 (모든 USB 장치에 대한 데이터가 있음) 을 구문 분석 하여 USB 버스와 장치 번호를 선택하고 총계 각 장치에 대해 양방향으로 패킷 길이 필드.
그러면 각 방향으로 장치 당 전송되는 데이터 양이 제공됩니다. 1 초에 한 번 인쇄하면 각 장치의 처리량에 대한 정보를 얻을 수 있습니다. USB 오버 헤드는 포함되지 않지만 사용 가능한 대역폭을 포화시킬 수있는 장치와 수치를 비교하면 한계에 근접하고 있는지 알 수 있습니다.
답변
사용 usbtop , 그것은 얼마나 많은 대역폭을 사용하고있는 장치의 좋은 개요를 제공합니다 :
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
답변
1. usbtop :
으로 sebas 포인트 아웃 , usbtop는 (훨씬 더 좋을 수 있지만) 내가 추천 있도록 유용한 정보의 일정한 최소 수준을 줄 것으로 보인다.
설치 방법은 다음과 같습니다.
-
자식 저장소를 복제하십시오.
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
-
로컬 빌드 디렉토리를 작성하고 CD를 넣으십시오.
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 초 간격의 OR
watch -n 0.1 iostat
의 샘플 출력 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 장치에서 처리량을 얻기 위해 한 쌍의 셸 스크립트를 작성했습니다. 누군가 그것을 사용하는 경우이 게시물 에서 찾을 수 있습니다 .
답변
사용하여 htop
, 나는 누르면 F2
위해 Setup
, 선택된 열 추가 IO_READ_RATE
, IO_WRITE_RATE
또는 IO_RATE
, 나는 프로세스를 읽거나에서와 디스크에 기록 된 속도를 볼 수 있었다.