如何在Linux上查找USB设备带宽使用情况
时间:2020-03-21 11:44:29 来源:igfitidea点击:
前几天,我想检查将文件从本地硬盘驱动器传输到外部驱动器时,外部U盘正在使用多少带宽。
在寻找一种简便方法的同时,我遇到了一个名为“ Usbtop”的命令行实用程序。
Usbtop是一种类似Top的CLI实用程序,可帮助我们查找Linux上USB设备带宽的使用情况。
它显示了USB总线和设备上的估计瞬时带宽。
使用此工具,我们可以轻松地检查哪些设备正在使用多少带宽。
安装Usbtop
Usbtop在AUR中可用,因此我们可以使用任何AUR帮助器(例如Yay)将其安装在Arch linux及其变体上。
$yay -S usbtop
在Debian上,它在默认存储库中可用。
运行以下命令进行安装:
$sudo apt install usbtop
在Ubuntu及其衍生产品上,我们需要从下面的源代码进行编译和安装。
安装所需的依赖项:
$sudo apt update
$sudo apt install cmake git libboost-dev libpcap-dev libboost-thread-dev libboost-system-dev
在本地系统上的Git克隆Usbtop存储库:
$git clone https://github.com/aguinet/usbtop.git
上面的命令将在当前工作目录的“ usbtop”目录中克隆Usbtop存储库的所有内容。
将CD放入usbtop目录:
$cd usbtop
接下来创建本地构建目录并cd进入该目录:
$mkdir _build && cd _build
最后,通过逐个运行以下命令来安装Usbtop:
$cmake -DCMAKE_BUILD_TYPE=Release ..
$make
$sudo make install
安装后,请确保已加载usbmon模块。
$sudo modprobe usbmon
使用Usbtop查找Linux上USB设备带宽的使用情况
连接U盘并其中复制一些文件。
打开终端并使用sudo特权运行usbtop命令以估计带宽使用情况。
$sudo usbtop
输出示例:
从上面的输出中可以看到,Usbtop显示USB总线和设备上的带宽使用情况。
在顶部,我们将看到所有USB总线上的整体带宽使用情况,在其下方,我们将看到每条总线上的带宽。
要列出所有可用的USB总线,请运行:
$usbtop --list Name Description -------------------------- usbmon1 USB bus number 1 usbmon2 USB bus number 2 usbmon3 USB bus number 3 usbmon4 USB bus number 4
要监视特定USB总线上的带宽流量,请运行:
$sudo usbtop --bus usbmon1
此命令将仅监视usbmon1总线上的带宽流量。
有关详细信息,请参阅帮助部分。
$usbtop --help
我已经通过USB外置驱动器和拇指驱动器进行了测试。
但是,我们可以将其用于USB网络摄像头,打印机等所有设备,以监视带宽。