Mais um problema de transferência lenta. Eu tenho uma unidade SanDisk USB 3.0 recém-comprada. O laptop possui apenas USB 2.0, mas estou obtendo velocidades de transferência de aproximadamente 2 MB/s de forma consistente.
Estou transferindo um .img
para a unidade:
dd if=my.img of=/dev/sdb status=progress
Ambos os itens acima iostat
mostram 2 MB/s consistentes.
kern.log ao conectar fornece:
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
Parte relevante da lsusb -t
saída:
/: 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
Executando o Ubuntu 16.04 LTS Server no Dell 6320.
Para adicionar drivers:
# 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
Responder1
Você deve simplesmente aumentar o tamanho do bloco de dd
. O padrão é 1 único byte, mas você pode acelerar drasticamente o processo transferindo blocos de dados maiores de uma só vez. O parâmetro responsável é chamado bs
.
Você pode querer experimentar um pouco os valores ideais, mas algo em torno de 4kB (4096 bytes) deve servir. Algumas fontes também recomendam tamanhos de bloco maiores, por exemplo, 32kB, 64kB ou até 128kB. Depende fortemente da estrutura física da unidade alvo qual valor é ideal e quase só pode ser descoberto por experiência. Você pode pensar em 4kB como limite inferior; tamanhos de bloco menores geralmente são muito mais lentos.
Mais informações sobre tamanhos de bloco ideais dd
podem ser encontradas emesta questão relacionada no Unix e Linux.
dd if=my.img of=/dev/sdb bs=4096 status=progress