Скорость usb порта linux

Скорость usb порта linux

Как быстр ваш USB? Как быстр ваш SSD-накопитель? Это очень распространенный вопрос. Я собрал и скомпилировал несколько тестов, которые помогут вам выполнить тест скорости USB и SSD в Linux. Когда я говорю speedtest, я тестирую скорость чтения / записи USB и SSD дисков. Это также сообщит вам, работают ли ваши накопители на максимальной скорости.

Скорость привода измеряется с точки зрения того, сколько данных он может читать или записывать за единицу времени. Команда dd — это простой инструмент командной строки, который может использоваться для чтения и записи произвольных блоков данных на диск и измерения скорости передачи данных. В этом посте мы будем использовать команду dd для проверки скорости чтения SSD и USB-накопителей .

Скорость передачи данных зависит не только от диска, но и от интерфейса, к которому он подключен. Например, порт USB 2.0 имеет максимальную скорость работы 35 Мбайт / с, поэтому, даже если вы подключите высокоскоростной накопитель USB 3 к порту USB 2, скорость будет ограничена нижним пределом.

То же самое касается SSD. SSD подключаются через порты SATA, которые имеют разные версии. Sata 2.0 имеет максимальный теоретический предел скорости 3Gbits / s, который составляет примерно 375 Мбайт / с. В то время как Sata 3.0 поддерживает вдвое большую скорость.

Установите привод и перейдите в него с терминала. Затем с помощью команды dd сначала запишите файл, используя блоки фиксированного размера. Затем прочитайте тот же файл, используя тот же размер блока.

Общий синтаксис команды dd выглядит следующим образом:

dd if=path/to/input_file of=/path/to/output_file bs=block_size count=number_of_blocks

При записи на диск мы просто читаем /dev /zero, который является источником бесконечных бесполезных байтов. И когда читаем с диска, мы читаем файл, написанный ранее, и отправляем его в /dev /null, который нигде не существует. Во всем процессе dd отслеживает скорость, с которой происходит передача, и сообщает об этом.

Файл tempfile , который только что был создан предыдущей командой, был кэширован в буфере, и его скорость чтения намного выше реальной скорости чтения непосредственно с жесткого диска. Чтобы получить реальную скорость, нам нужно очистить кэш.

Выполните следующую команду, чтобы узнать скорость чтения из буфера:

$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 0.159273 s, 6.7 GB/s

Очистите кэш Linux и измерите реальную скорость чтения напрямую с жесткого диска:

$ sudo /sbin/sysctl -w vm.drop_caches=3
vm.drop_caches = 3
$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.27431 s, 472 MB/s

Выполните следующую команду для проверки скорости записи на жестком диске:

$ sync; dd if=/dev/zero of=tempfile bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.28696 s, 327 MB/s

Читайте также:  About filesystem in linux

Теперь давайте начнем с инструкций для проверки скорости чтения SSD. Наш SSD подключается к порту SATA 2.0 для этого теста.

Скорость записи.

$ dd if=/dev/zero of=./largefile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.82364 s, 223 MB/s

Размер блока на самом деле довольно большой. Вы можете попробовать с меньшими размерами, такими как 64k или даже 4k.

Скорость чтения.

Теперь прочитайте тот же файл. Однако сначала очистите кэш памяти, чтобы убедиться, что файл действительно считывается с диска.
Выполните следующую команду, чтобы очистить кэш памяти:

$ sudo sh -c «sync && echo 3 > /proc/sys/vm/drop_caches»

$ dd if=./largefile of=/dev/null bs=4k
165118+0 records in
165118+0 records out
676323328 bytes (676 MB) copied, 3.0114 s, 225 MB/s

В этом тесте мы будем измерять скорость чтения и записи обычных USB / PEN-дисков. Диски подключены к стандартным портам USB 2. Первый — это USB-накопитель Sony 4GB, а второй — Strontium 16-Гбайт.

Сначала подключите диск к порту и установите его, чтобы он читался. Затем перейдите в каталог монтирования из командной строки.

Скорость чтения / записи внешнего жесткого диска

Чтобы проверить производительность некоторых внешних жестких дисков, USB-накопителей или любого другого съемного устройства или удаленной файловой системы, просто обратитесь к точке монтирования и повторите указанные выше команды.
Или вы можете заменить временный файл на путь к точке монтирования, например

$ sync; dd if=/dev/zero of=/media/user/MyUSB/tempfile bs=1M count=1024; sync
Все вышеприведенные команды используют временный файл tempfile. Не забудьте удалить его, когда вы завершите тесты.

Sony 4GB — Запись

В этом тесте команда dd используется для записи 10 000 блоков по 8 Кбайт каждый в один файл на диске.

# dd if=/dev/zero of=./largefile bs=8k count=10000
10000+0 records in
10000+0 records out
81920000 bytes (82 MB) copied, 11.0626 s, 7.4 MB/s

Таким образом, скорость записи составляет около 7,5 Мбайт / с. Это низкая цифра.

Sony 4GB — Чтение.

Тот же файл считывается обратно для проверки скорости чтения. Выполните следующую команду, чтобы очистить кэш памяти:

$ sudo sh -c «sync && echo 3 > /proc/sys/vm/drop_caches»

Теперь прочитайте файл, используя команду dd.

# dd if=./largefile of=/dev/null bs=8k
8000+0 records in
8000+0 records out
65536000 bytes (66 MB) copied, 2.65218 s, 24.7 MB/s

Скорость чтения составляет около 25 Мбайт / с, что является более или менее стандартным для дешевых USB-накопителей.

Максимальная скорость передачи USB 2.0 составляет 480 Мбит / с или 60 Мбайт / с. Однако из-за различных ограничений максимальная пропускная способность ограничена примерно 280 Мбит / с или 35 Мбайт / с. Помимо этого, фактическая скорость зависит от качества Pen приводов и других факторов.

Вышеупомянутый USB-накопитель был подключен к порту USB 2.0 и достиг скорости чтения 24,7 Мб / с, что не очень плохо. Но скорость записи значительно отстает

Теперь давайте сделаем тот же тест с приводом Stronium 16GB. — Stronium еще один очень дешевый бренд, хотя USB-накопители надежны.

Скорость записи Stronium 16 ГБ

# dd if=/dev/zero of=./largefile bs=64k count=1000
1000+0 records in
1000+0 records out
65536000 bytes (66 MB) copied, 8.3834 s, 7.8 MB/s

Скорость чтения Stronium 16gb

Читайте также:  Linux домашняя директория пользователя root

# sudo sh -c «sync && echo 3 > /proc/sys/vm/drop_caches»
# dd if=./largefile of=/dev/null bs=8k
8000+0 records in
8000+0 records out
65536000 bytes (66 MB) copied, 2.90366 s, 22.6 MB/s

Скорость чтения ниже, чем у накопителя Sony.

Hdparm — это утилита Linux, которая позволяет быстро узнать скорость чтения жесткого диска. Установите hdparm в зависимости от дистрибутива Linux.
В Linux Mint, Ubuntu, Debian:

$ sudo apt-get install hdparm

Запустите hdparm следующим образом, чтобы измерить скорость чтения жесткого диска /dev/sda:

$ sudo hdparm -Tt /dev/sda
/dev/sda:
Timing cached reads: 16924 MB in 2.00 seconds = 8469.95 MB/sec
Timing buffered disk reads: 1386 MB in 3.00 seconds = 461.50 MB/sec

Источник

Как определить тип и скорость USB порта

Казалось бы, сказать какая версия и скорость USB разъёма на компьютере это тривиальная задача. Как было раньше? Чёрный разъём — это USB2, а синий разъём — это USB3. Правильно? Это давно уже устаревшая информация, в современных материнских платах и ноутбуках отказались от синего цвета как признака быстрого гнезда USB.

Какие версии USB бывают

Прочитайте следующие статьи:

Всё это стало так сложно и непонятно, что это всё стали считать устаревшим и придумали SuperSpeed USB с цифрами.

Что означает маркировка USB портов

Наверняка должна быть подсказка по версии и скорости USB портов рядом с разъёмами.

Давайте посмотрим на следующую фотографию портов на моём ноутбуке:

Во-первых, все эти три порта являются USB портами, даже тот, который маленький!

Во-вторых, что означают эти буквы «SS» и цифра?

Если вы действительно прочитали статьи, на которые даны ссылки выше, то вы уже знаете, что порт без букв «SS» – это старый USB 2.0. Маленький порт с «SS» и цифрой 10 — это SuperSpeed USB 10 Gbps, который раньше назывался USB 3.1 Gen 2.

Хорошо, с двумя портами из трёх разобрались, что же до третьего порта? Понятно, что это какая-то из версий SuperSpeed, но какая именно?

Как в Linux определить, какой порт у моего компьютера: USB3, USB3.0, USB3.1, USB3.2 или USB4

Чтобы проверить версию USB выполните следующую команду:

sudo lsusb -v | grep -i bcdusb

Вывод не очень информативный, с уверенностью можно лишь сказать, что в системе имеются USB порты 3.1 и 2.0 и что к USB 3.1 подключено два устройства, а остальные подключены к USB 2.0. Не удивляйтесь количеству устройств — некоторые из них являются внутренними устройствами (например, веб-камера) и подключены к USB хабу внутри корпуса.

Чтобы разобраться, какие именно устройства используют USB 3.* и какая их скорость нужно углубиться в свойства железа системы.

Как можно увидеть на скриншоте, на данном компьютере есть корневые хабы 3.0 и 2.0:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

USB хост контроллеры это устройства PCI, поэтому вы можете увидеть их с помощью lspci:

Найдите ‘xHCI’ который является USB3.

Следующая команда также покажет имеющиеся xhci контроллеры или хабы. Скорость работы показана в конце каждой строки. USB3 начинается от 5000M.

Сравним вывод двух команд:

lsusb -t | grep xhci lsusb | grep hub

Как можно понять, 2.0 root hub имеет скорость 480M, а 3.0 root hub имеет скорость 10000M.

Читайте также:  Alpine linux обновление пакетов

Чтобы определить, к какому именно USB порту подключена флешка и её скорость, подключите интересующее вас устройство и выполните

Найдите фразу «Mass Storage» – это диски и флешки. Родитель этого узла соответствует USB порту куда вы подключили вашу флешку. Последней цифрой является скорость.

Как соотносятся версии USB и скорость

На скриншоте выше мы могли видеть скорость 10000M, но какая именно это версия USB?

Посмотрите на следующие данные:

  • 12M = 12MBit/s = USB1
  • 480M = 480MBit/s = USB2
  • 5000M = 5000MBit/s = USB3.0, также известен как USB3.1 gen. 1
  • 10000M = 10000MBit/s = USB 3.1, также известен как USB 3.1 Gen 2
  • 20000M = 20000MBit/s = USB 3.2, также известен как USB 3.2 Gen 2×2; либо это может быть USB4 Gen 2×2 или USB4 Gen 3×1
  • 40000M = 40000MBit/s = USB4 Gen 3×2

На самом деле, названия вида USB 3.* считаются устаревшими, поскольку действительно значение имеет только скорость соединения. В настоящее время «современными» считаются следующие обозначения:

Скрипт lsusb.py для отображения USB-устройств в понятном виде

Примечание: спасибо пользователю redking за подсказку в комментариях!

Скрипт lsusb.py в удобном виде показывает информацию об USB хабах и подключённым к ним устройствам.

Для вывода информации достаточно в командной строке запустить:

Вы можете получить ошибку, что команда lsusb.py не найдена. Скрипт lsusb.py поставляется с пакетом usbutils, который содержит другую уже используемую нами программу lsusb. По каким-то причинам в некоторых дистрибутивах пакет usbutils распространяется без скрипта lsusb.py. Чтобы его установить выполните следующие команды:

curl https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbutils.git/plain/lsusb.py.in > lsusb.py chmod +x lsusb.py sudo mv lsusb.py /usr/bin/lsusb.py

Строки, которые начинаются на usb1, usb2 и прочее — это USB хабы.

Строки, которые начинаются на 1-1, 1-3, 2-2 и прочее — это USB устройства.

Кроме идентификаторов производителя и устройства, каждой строка в квадратных скобках содержит информацию о версии, скорости, и максимальном потреблении энергии, например:

В круглых скобках показаны имена устройств.

UsbView — просмотр дерева USB устройств в графическом интерфейсе

Скорость USB разъёмов и устройств вы сможете узнать это с помощью такой программы, как UsbView, которая предоставляет очень подробную техническую информацию.

USBView — это небольшое приложение GTK, показывающее, как выглядит дерево устройств шины USB. Он показывает графическое представление устройств, которые в данный момент подключены, показывая топологию шины USB. Она также отображает информацию о каждом отдельном устройстве на шине.

Установка UsbView в Debian, Kali Linux, Linux Mint, Ubuntu и их производные:

Установка UsbView в Arch Linux, Manjaro, BlackArch и их производные:

Во время установки программа сообщит, что для её работы необходимо выполнить команду

mount -t debugfs none /sys/kernel/debug

либо в файл /etc/fstab добавить строку

none /sys/kernel/debug debugfs defaults 0 0

Вместо этого можно обойтись тем, что запустить программу с правами суперпользователя:

На скриншоте показано, что компьютер имеет 2 xHCI хост контроллера, один из них версии 3.10:

К контроллеру версии 3.10 подключены два устройства, одно из устройств версии 3.00 (обратите внимание на строку «USB Version: 3.00»).

А другое устройство версии 3.10:

Источник

Оцените статью
Adblock
detector