Jak sprawdzić prędkość USB na terminalu?

15

Używam Ubuntu 12.04. Jestem tutaj, aby wiedzieć, czy jest jakiś sposób na obserwację prędkości zapisu i odczytu USB przez terminal.

rɑːdʒɑ
źródło

Odpowiedzi:

6

Możesz użyć, rsyncaby podać przybliżoną prędkość transferu, chociaż będzie się ona różnić w zależności od tego, czy przesyłane są małe czy duże pliki i czy miejscem docelowym jest wolny dysk flash lub szybki zewnętrzny dysk twardy. Na przykład:

rsync -avviu ~/Videos /media/Mik2

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

(Ponadto, jeśli otworzysz, tail -f /var/log/kern.loga następnie podłączysz urządzenie, możesz sprawdzić, czy jest ono konfigurowane dla interfejsu ehci (ulepszony interfejs kontrolera hosta), który obsługuje prędkości USB 2. Na przykład dziennik jądra powinien zawierać informację o „nowym szybkim urządzeniu USB ... za pomocą ehci_hcd '.)


źródło
Myślę, że to przewidywało powód pytania, ale nie odpowiadało na postawione pytanie.
mc0e
13

pvNarzędzie pozwala na przeglądanie przepustowość danych przepływających przez niego. Po zainstalowaniu pakietu możesz uruchomić następującą komendę, aby zobaczyć szybkość zapisu:

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

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

Do odczytu wykonaj odwrotną operację, używając nowo utworzonego tmp123pliku:

$ cat /media/some_usb/tmp123 | pv > dev/null
noffle
źródło
Podejście to wydaje się dawać mierzalne i rzeczywiste wyniki w czasie wykonywania.
AjayKumarBasuthkar
9

Byłem ciekawy tego, ponieważ miałem dysk SSD SATA 3, którego chciałem użyć do przetwarzania niektórych plików wideo (aby utrzymać minimalne oczekiwania na operacje we / wy), ale miałem w systemie tylko porty SATA 2 (3Gbps), ale także Dostępny port USB3.

Możesz określić teoretyczną maksymalną prędkość portu dla każdego portu USB za pomocą polecenia sudo lsusb -vvv |grep -i -B5 -A5 bcdUSB

Linia bcdUSB zwraca wersję portu USB.

Przykład z jednego z moich systemów:

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

Lub szybka i łatwa alternatywa lsusb -tzapewniająca takie wyniki:

/:  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

Ponieważ 5 Gb / s dostępne za pośrednictwem USB3 było znacznie bliższe 6 Gb / s, na które ocenia SATA 3, zdecydowałem się tam podłączyć dysk Bus 004 Device 002(za pomocą adaptera Asmedia USB3toSATA). Wyniki były całkiem satysfakcjonujące.

Źródła: ta strona

Eksperymentowanie

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

https://en.wikipedia.org/wiki/Serial_ATA Jak znaleźć prędkość koncentratora USB

Starszy Geek
źródło
Czy istnieje możliwość skorelowania tych informacji z węzłem urządzenia?
Melab
@Melab Wydaje się oczywiste w większości przypadków, biorąc pod uwagę wynik takich poleceń lsblki zawartość plików takich jak [etc / mtab] Jeśli masz nowe pytanie, możesz je zadać za pomocą przycisku [Zadaj pytanie] ( askubuntu.com/questions/ pytaj ) w prawym górnym rogu strony.
Elder Geek,
1
@Flatron Jestem zawsze chętny do pomocy!
Elder Geek
2

Spróbuj tego:

$ sudo lsusb -vvv

Następnie spójrz na wpisy o nazwach bDeviceProtocol i bInterfaceProtocol

jap1968
źródło
1
„bInterfaceProtocol 80 Tylko luzem” „bDeviceProtocol 0” oznacza co? Ale ta odpowiedź nie pasuje do Mojego pytania.
Dziękuję
Czy użyłeś opcji -vvv? Na moim komputerze jest opis związany z wartością 0: „0 Hub pełnej prędkości (lub root)”
jap1968
Masz rację. Informacje te wydają się pojawiać tylko na niektórych urządzeniach.
jap1968,
1
@Raja, Run sudo lsusb -vvv |grep -i -B5 -A5 bDeviceProtocol. Następnie spójrz na wpisy wymienione jako bDeviceClass Hub.
Cerin,