USB 성능 / 트래픽 모니터?


18

우선, 비슷한 질문을 찾았 지만 실제로 문제를 해결하지는 못합니다. 사용중인 장치의 USB 버스가 프로그램의 병목 현상인지 확인하려고합니다.

버스 사용률을 표시하기 위해 USB 버스 (gnome-system-monitor 작동 방식과 유사)를 어떻게 모니터링 할 수 있습니까? 기본적으로 버스가 '최대화'되는시기를 식별하고 싶습니다. 내가 찾고있는 것은 usbmon을위한 인터페이스라고 생각합니다. 필요한 일을하는 것처럼 보입니다.

이것은 USRP와 GNU Radio를 테스트 한 결과입니다. USB 버스가 제한 요인이 될 수있는 상황에 처해 있으므로 USB 성능 모니터링에 대한보다 일반적인 질문을합니다.


1
wireshark와 usbmon이 트래픽을 얻는 동안 처리량 등에 대한 아이디어를 더 쉽게 줄 수있는 것이 필요합니다.
Mr. Shickadance

USB 버스가 이론상 최대 값에 도달 했습니까? 트래픽을 하드웨어 벤치 마크 와 비교 했습니까 ? 최대 처리량은 일반적으로 시스템 버스가 아니라 연결된 장치에 따라 달라 지므로 올바르게 테스트하려면 해당 목적을 위해 특별히 제작 된 하드웨어가 필요합니다.
forcefsck

답변:


4

usbmon 은 전송 된 각 패킷의 길이를 제공 하므로 빠른 프로그램을 작성하여 0u파일 (모든 USB 장치에 대한 데이터가 있음) 을 구문 분석 하여 USB 버스와 장치 번호를 선택하고 총계 각 장치에 대해 양방향으로 패킷 길이 필드.

그러면 각 방향으로 장치 당 전송되는 데이터 양이 제공됩니다. 1 초에 한 번 인쇄하면 각 장치의 처리량에 대한 정보를 얻을 수 있습니다. USB 오버 헤드는 포함되지 않지만 사용 가능한 대역폭을 포화시킬 수있는 장치와 수치를 비교하면 한계에 근접하고 있는지 알 수 있습니다.


3
기존 도구를 원했지만 이것이 충분하다고 생각합니다.
Mr. Shickadance

10

사용 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

2
를 가리켜 주셔서 감사합니다 usbtop. 유용 해 보입니다. 여기를 설치하는 방법은 다음과 같습니다 unix.stackexchange.com/a/489268/114401 .
Gabriel Staples

1
우분투 19.04에서는 공식 저장소에 apt install usbtop있습니다.
luator

4

1. usbtop :

으로 sebas 포인트 아웃 , usbtop는 (훨씬 더 좋을 수 있지만) 내가 추천 있도록 유용한 정보의 일정한 최소 수준을 줄 것으로 보인다.

여기에 이미지 설명을 입력하십시오

설치 방법은 다음과 같습니다.

  1. 자식 저장소를 복제하십시오.

    git clone https://github.com/aguinet/usbtop.git 
    
  2. 다음에서 생성 한 디렉토리로 이동하십시오 git clone.

    cd usbtop
    
  3. 종속성을 설치하십시오.

    sudo apt update 
    sudo apt install libboost-dev libpcap-dev libboost-thread-dev libboost-system-dev 
    
  4. 로컬 빌드 디렉토리를 작성하고 CD를 넣으십시오.

    mkdir _build && cd _build 
    
  5. cmake를 실행하여 소스에서 usbtop 빌드를 준비하십시오.

    cmake -DCMAKE_BUILD_TYPE=Release .. 
    
  6. 소스에서 usbtop을 빌드하십시오.

    make 
    
  7. usbtop 설치 :

    sudo make install 
    
  8. usbmon 커널 모듈을로드하여 USB 버스에 대한 액세스를 엽니 다 (이것이 그렇게 생각하지만 필요하다는 것을 알고 있습니다).

    sudo modprobe usbmon 
    
  9. usbtop을 실행하십시오 (작동하지 않으면 sudo usbtop대신 사용하십시오).

    usbtop 
    

내가 누락 된 의견이 있으면 알려주십시오.

참조 설치 :

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/

관련 :



0

사용하여 htop, 나는 누르면 F2위해 Setup, 선택된 열 추가 IO_READ_RATE, IO_WRITE_RATE또는 IO_RATE, 나는 프로세스를 읽거나에서와 디스크에 기록 된 속도를 볼 수 있었다.


이 질문은 디스크 트래픽이 아닌 USB 트래픽에 관한 것입니다 (예 : USB 웹캠이 사용하는 대역폭의 양)
Malvineous
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.