USB 성능/트래픽 모니터?

USB 성능/트래픽 모니터?

먼저, 나는비슷한질문이 있지만 실제로 내 문제가 해결되지는 않습니다. 내가 사용하고 있는 장치의 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소스에서 빌드).

  1. Git 저장소를 복제합니다.
    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 \
        cmake \
        build-essential
    
  4. 로컬 빌드 디렉터리를 만들고 입력합니다.
    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초 간격으로:

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프로세스 가 디스크에서 읽고 쓰는 속도를 확인할 수 있습니다.F2SetupIO_READ_RATEIO_WRITE_RATEIO_RATE

관련 정보