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バスとデバイス番号を選択し、両方向の各デバイスのパケット長フィールドの累積合計を維持します。

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

答え4

を使用して、列の選択、追加、またはを押すと、htopプロセスがディスクから読み書きする速度を確認できます。F2SetupIO_READ_RATEIO_WRITE_RATEIO_RATE

関連情報