Еще одна проблема медленной передачи. У меня есть недавно купленный диск SanDisk USB 3.0. Ноутбук имеет только USB 2.0, но я постоянно получаю скорость передачи ~ 2 МБ / с.
Я передаю .img
на диск:
dd if=my.img of=/dev/sdb status=progress
И выше, и iostat
показывают согласованные 2 МБ / с.
kern.log при подключении дает:
usb 2-1.2: new high-speed USB device number 6 using ehci-pci
usb 2-1.2: New USB device found, idVendor-0781, idProduct=5583
usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1.2: Product: Ultra Fit
usb 2-1.2: Manufacturer: SanDisk
usb 2-1.2: SerialNumber: 4C53....
usb-storage 2-1.2:1.0: USB Mass Storage device detected
scsi host7: usb-storage 2-1.2:1.0
scsi 7:0:0:0 Direct-Access SanDisk Ultra Fit 1.00 PQ: 0 ANSI: 6
sd 7:0:0:0 Attached scsi generic sg2 type 0
sd 7:0:0:0 [sdb] 30031250 512-byte logical blocks: (15.4 GB/14.3GiB)
sd 7:0:0:0 [sdb] Write Protect is off
sd 7:0:0:0 [sdb] Mode Sense: 43 00 00 00
sd 7:0:0:0 [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 7:0:0:0 [sdb] Attached SCSI removable disk
Соответствующую часть вывода lsusb -t
:
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver-ehci-pci/3p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
|__ Port 2: Dev 6, If 0, Class=Mass Storage, Driver=usb-storage, 480M
Запуск сервера Ubuntu 16.04 LTS n Dell 6320.
Чтобы добавить драйверы:
# lsmod | grep pci
pci_stub 16384 1
vboxpci 24576 0
vboxdrv 454656 3 vboxnetadp,vboxnetflt,vboxpci
sdhci_pci 28672 0
sdhci 45056 1 sdhci_pci
# lsmod | grep hci
ahci 36864 4
sdhci_pci 28672 0
hibachi 32768 1
sdhci 45056 1 sdhci_pci
Необходимо просто увеличить размер блока dd
. Значение по умолчанию является 1 единственным байтом, но можно решительно ускорить процесс с передачей больших блоков данных сразу. Ответственный параметр называют bs
.
Вы могли бы хотеть экспериментировать немного с оптимальными значениями, но что-то приблизительно 4 КБ (4 096 байтов) должно быть хорошо. Некоторые источники также рекомендуют большие размеры блока, например, 32 КБ, 64 КБ или даже 128 КБ. Это зависит сильно от физической структуры целевого диска, какое значение оптимально и может почти только быть узнано экспериментом. Можно думать о 4 КБ как о нижней границе, хотя, меньшие размеры блока обычно намного медленнее.
[еще 117] информация об оптимальных размерах блока дляdd
может быть найдена в этот связанный вопрос на Unix & Linux.
dd if=my.img of=/dev/sdb bs=4096 status=progress