另一个缓慢的传输问题。我有一个新购买的 SanDisk USB 3.0 驱动器。笔记本电脑只有 USB 2.0,但我始终获得 ~2MB/s 的传输速度。
我正在将 a 传输.img
到驱动器:
dd if=my.img of=/dev/sdb status=progress
Run Code Online (Sandbox Code Playgroud)
以上两者均iostat
显示一致的 2MB/s。
连接时 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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
运行 Ubuntu 16.04 LTS Server 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
Run Code Online (Sandbox Code Playgroud)
您应该简单地增加dd
. 默认值为 1 个单字节,但您可以通过一次传输更大的数据块来大大加快进程。负责的参数称为bs
。
您可能想对最佳值进行一些试验,但大约 4kB(4096 字节)应该没问题。一些来源还建议使用更大的块大小,例如 32kB、64kB 甚至 128kB。这在很大程度上取决于目标驱动器的物理结构,哪个值是最佳的,并且几乎只能通过实验找出。您可以将 4kB 视为下限,但较小的块大小通常要慢得多。
有关最佳块大小的更多信息dd
可以在 Unix & Linux 上的这个相关问题中找到。
dd if=my.img of=/dev/sdb bs=4096 status=progress
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3665 次 |
最近记录: |