USBパフォーマンス/トラフィックモニター?


18

まず第一に、私は同様の質問を見つけましたが、それは本当に私の問題を解決しません。使用しているデバイスのUSBバスがプログラムのボトルネックになっているかどうかを確認しようとしています。

バスの使用率を表示するために(gnome-system-monitorの動作と同様に)USBバスを監視するにはどうすればよいですか?基本的には、バスが「最大」状態になっているかどうかを確認します。私が探しているのはusbmonのインターフェイスだと思います。

これは、USRPとGNU Radioのテストから生じました。USBバスが制限要因になりそうな状況に陥っているので、USBパフォーマンスモニタリングのより一般的な質問をします。


1
wiresharkとusbmonはトラフィックを取得しますが、スループットなどをより簡単に把握できるものが必要です。
Mr.シカダンス

USBバスが理論上の最大値に達していますか?取得したトラフィックをハードウェアのベンチマークと比較しましたか?通常、最大スループットはシステムバスではなく、接続されているデバイスに依存するため、適切にテストするには、その目的のために特別に作成されたハードウェアが必要です。
-forcefsck

回答:


4

usbmonは転送された各パケットの長さを提供するため、0uファイル(すべてのUSBデバイスのデータを含む)を解析する簡単なプログラムを作成することでこれにアプローチします。USBバスとデバイス番号を選択し、各デバイスの両方向のパケット長フィールド。

これにより、各方向にデバイスごとに転送されるデータ量がわかります。1秒間に1回印刷すると、各デバイスのスループットがかなりよくわかります。USBのオーバーヘッドは含まれませんが、利用可能な帯域幅を飽和できるデバイスと数値を比較すると、限界に近づいているかどうかがわかります。


3
私は既存のツールを望んでいましたが、これで十分だと思います。
氏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です。
ガブリエルステープルズ

1
Ubuntu 19.04では、公式リポジトリ、つまり単ににありapt install usbtopます。
ルアー

4

1. usbtop:

以下のようsebasポイントアウトは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 
    
  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秒間隔で:

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/

関連:


2

USBデバイスからスループットを得るためのシェルスクリプトのペアを作成しました。誰かがそれを使用する場合は、この投稿で見つけることができます。



スクリプトは、usbmon手動でインストール/コンパイル(?)する必要があるものに基づいています。
ジャックミラー

0

を使用してhtop、を押し、選択した列、追加、またはを選択F2Setup、プロセスがディスクに対して読み書きを行う速度を確認することができました。IO_READ_RATEIO_WRITE_RATEIO_RATE


この質問はないディスクのトラフィック、けれどもUSBトラフィックについてです(たとえば、どのくらいの帯域幅のUSBウェブカメラの使用。)
Malvineous
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.