1

I am trying to DD a raw file to an SSD from a spin usb spin drive. I have tried compression (but it obviously has to expand before it can copy). I have watched the details of the arm7 gb ram device, and it's only using 27%-50% of the available processing at one time. I am trying my best to get this copying down to 3 hours but it's taking 6+ hours right now.

I am using bs=1m, I really don't know what I can do to improve the DD. Is there anyway I can maybe fork the process and utilize the processor?

I am DDing this from an encrypted volume using a branch of truecrypt; I know this will slow it down hence why I was compressing, so the system had less to decrypt but had to unpackage.

  • Not really, if you are IO bound, you are IO bound and CPU won't help. – bsd Nov 11 '15 at 10:55
2

If you're on a Linux-based system use cat instead of dd

cat source.img >/dev/destdisk

But really you need to consider the IO speed of your disks and the data bus to which they're attached: how fast your spinning disk can deliver data, and the speed of whichever flavour of USB you are using.

Bottom line: if you were 100% CPU bound there might be something you can do in software, but here you are almost certainly IO bound.


According to Why the cat(1) ran faster than dd(1M) the cat utility is faster than dd even when using the same block size. (The article explains why - it's apparently because cat uses mmap() whereas dd does not.)

1

The bottleneck is by all odds the USB drive / the USB cable / the USB bus.

Copying files is not a CPU intensive task at all; the CPU is not stressed because it doesn't really need to perform full speed.

Using compression makes no sense at all, because the data should pass uncompressed from the USB device all the way up to the RAM hitting the very same bottleneck.

There's very little you can do, aside from making sure you're using an USB port that doesn't bottleneck your USB drive's maximum full speed (e.g. if you have one USB 2.0 port and one USB 3.0 port and the USB drive is USB 3.0 compatible, plug the USB drive to the USB 3.0 port).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.