USB性能/流量监控器?


18

首先,我发现了一个类似的问题,但这并不能真正解决我的问题。我试图发现我正在使用的设备的USB总线是否是程序中的瓶颈。

如何监视USB总线(类似于gnome-system-monitor的工作方式)以显示总线利用率?基本上,我想确定总线何时被“最大化”。我想我正在寻找的是usbmon的一些界面,因为它看起来像我需要的。

这来自于测试USRP和GNU Radio。我遇到的情况似乎是USB总线可能是一个限制因素,所以我问一个更通用的USB性能监控问题。


1
虽然wireshark和usbmon获得了流量,但我需要一些可以更轻松地给我带来吞吐量等概念的东西。
Shickadance先生2011年

您看到USB总线达到其理论最大值吗?您是否将获得的流量与硬件基准进行了比较?最大吞吐量通常取决于连接的设备而不是系统总线,因此要正确测试它,您需要一些专门为此目的制造的硬件。
forcefsck

Answers:


4

由于usbmon提供了传输的每个数据包的长度,因此我将通过编写一个快速程序来分析0u文件(其中包含所有USB设备的数据)来解决此问题。它将选择USB总线和设备号,然后保持运行总数每个设备的双向数据包长度字段。

然后,您将获得每个设备在每个方向上传输的数据量。如果每秒打印一次,您将对每个设备的吞吐量有一个很好的了解。请注意,它不会包含任何USB开销,但是如果将这些数字与能够饱和可用带宽的设备进行比较,您会知道您是否已接近极限。


3
我希望有一个预先存在的工具,但是我想这已经足够了。
Shickadance先生11年

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
luator

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/

有关:



0

使用htop,我压F2Setup,选择的列,加入IO_READ_RATEIO_WRITE_RATEIO_RATE,我能够看到在该过程被读取或从和向磁盘写入的速度。


这个问题是关于USB流量,而不是磁盘流量(例如USB网络摄像头使用多少带宽。)
Malvineous
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.