Usb

USB 性能/流量監視器?

  • February 21, 2022

首先,我發現了一個類似的問題,但它並沒有真正解決我的問題。我試圖發現我正在使用的設備的 USB 匯流排是否是我程序中的瓶頸。

如何監控 USB 匯流排(類似於 gnome-system-monitor 的工作方式)以顯示匯流排使用率?基本上我想確定公共汽車何時被“最大化”。我想我正在尋找的是 usbmon 的一些介面,因為它看起來可以滿足我的需要。

這源於對 USRP 和 GNU Radio 的測試。我遇到了一種情況,USB 匯流排似乎是一個限制因素,所以我問了 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. USB 頂部: ==========

正如sebas 指出的那樣usbtop似乎提供了某種最低級別的有用資訊(儘管它可能會更好),所以我推薦它。

在此處輸入圖像描述

以下是它的安裝方法:

  1. 複製 git 倉庫:
git clone https://github.com/aguinet/usbtop.git 
  1. 導航到剛剛創建的目錄git clone
cd usbtop
  1. 安裝依賴項:
sudo apt update 
sudo apt install libboost-dev libpcap-dev libboost-thread-dev libboost-system-dev cmake
  1. 創建本地建構目錄並 cd 進入其中:
mkdir _build && cd _build 
  1. 執行 cmake 以準備從原始碼建構 usbtop:
cmake -DCMAKE_BUILD_TYPE=Release .. 
  1. 從原始碼建構 usbtop:
make 
  1. 安裝usbtop:
sudo make install 
  1. 載入 usbmon 核心模組以打開對 USB 匯流排的訪問(我認為這是這樣做的,但我知道這是必需的):
sudo modprobe usbmon 
  1. 執行 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/

有關的:

引用自:https://unix.stackexchange.com/questions/10671