Come faccio a sapere la velocità USB da un terminale?


15

Sto usando Ubuntu 12.04. Sono qui per sapere che esiste un modo per osservare la velocità di scrittura e lettura dell'USB attraverso il terminale.

Risposte:


6

È possibile utilizzare rsyncper fornire un'approssimazione della velocità di trasferimento, anche se varierà a seconda che vengano trasferiti file piccoli o grandi e che la destinazione sia un'unità flash lenta o un disco rigido esterno veloce. Per esempio:

rsync -avviu ~/Videos /media/Mik2

sent 874419803 bytes  received 149 bytes  4427442.79 bytes/sec
total size is 874312527  speedup is 1.00

(Inoltre, se apri tail -f /var/log/kern.loge poi colleghi il tuo dispositivo puoi vedere se è configurato per ehci (interfaccia controller host migliorata), che supporta le velocità USB 2. Ad esempio, il registro del kernel dovrebbe indicare 'nuovo dispositivo USB ad alta velocità ... usando ehci_hcd '.)


Immagino che questo abbia anticipato il motivo della domanda, ma non ha risposto alla domanda come posta.
MC0e

13

Lo pvstrumento consente di visualizzare il throughput dei dati che lo attraversano. Dopo aver installato il pacchetto, è possibile eseguire un comando come il seguente per visualizzare la velocità di scrittura:

$ cat /dev/zero | pv > /media/some_usb/tmp123

203.1MiB 0:00:02 [100.2MiB/s] [ <=>                   ]

Per la lettura, eseguire l'operazione opposta utilizzando il tmp123file appena creato :

$ cat /media/some_usb/tmp123 | pv > dev/null

Questo approccio sembra fornire risultati di runtime misurabili ed effettivi.
AjayKumarBasuthkar,

9

Ero curioso di questo perché avevo un SSD SATA 3 che volevo usare per elaborare alcuni file video (per mantenere le attese di I / O al minimo) ma avevo solo porte SATA 2 (3Gbps) disponibili sul sistema, ma anche un Porta USB3 disponibile.

È possibile determinare la velocità massima teorica della porta per ciascuna porta USB con il comando sudo lsusb -vvv |grep -i -B5 -A5 bcdUSB

La linea bcdUSB restituisce la versione USB della porta.

Un esempio da uno dei miei sistemi:

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x8087 Intel Corp.
--
   Port 7: 0000.0100 power
   Port 8: 0000.0100 power
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
--

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
--

Bus 001 Device 003: ID 10d5:5a08 Uni Class Technology Co., Ltd 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x10d5 Uni Class Technology Co., Ltd
--

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x8087 Intel Corp.
--
   Port 5: 0000.0100 power
   Port 6: 0000.0303 lowspeed power enable connect
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
--

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
--

Bus 004 Device 002: ID 174c:5106 ASMedia Technology Inc. Transcend StoreJet 25M3
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x174c ASMedia Technology Inc.
--

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         3 
  bMaxPacketSize0         9
  idVendor           0x1d6b Linux Foundation
--

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation

O l'alternativa semplice e veloce lsusb -tfornisce un output come questo:

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 4: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 6: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 6: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M

Dato che i 5 Gbps disponibili tramite USB3 erano molto più vicini ai 6 Gbps a cui è classificato SATA 3, ho deciso di collegare l'unità lì Bus 004 Device 002 (tramite adattatore Asmedia USB3toSATA). I risultati sono stati abbastanza soddisfacenti.

Fonti: questa pagina

Sperimentazione

https://en.wikipedia.org/wiki/USB

https://en.wikipedia.org/wiki/Serial_ATA Come trovare la velocità dell'hub USB


Esiste un modo per correlare tali informazioni con un nodo dispositivo?
Melab,

@Melab Sembra ovvio nella maggior parte dei casi dato l'output di comandi like lsblke il contenuto di file come [etc / mtab] Se hai una nuova domanda, sentiti libero di chiedere usando il pulsante [Ask Question] ( askubuntu.com/questions/ chiedi ) nell'angolo in alto a destra della pagina.
Elder Geek,


2

Prova con questo:

$ sudo lsusb -vvv

Quindi, dai un'occhiata alle voci denominate bDeviceProtocol e bInterfaceProtocol


1
"bInterfaceProtocol 80 Solo in blocco" "bDeviceProtocol 0" significa cosa? Ma questa risposta non è adatta alla mia domanda. Grazie, :)
rʒɑdʒɑ

Hai usato l'opzione -vvv? Nel mio computer, c'è una descrizione associata al valore 0: "0 Hub full speed (o root)"
jap1968


Hai ragione. Questa informazione sembra apparire solo su alcuni dispositivi.
jap1968,

1
@Raja, Run sudo lsusb -vvv |grep -i -B5 -A5 bDeviceProtocol. Quindi guardare le voci elencate come Hub bDeviceClass.
Cerin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.