Skip to main content
1 of 6
Kalle Richter
  • 2.3k
  • 4
  • 24
  • 42

How to parallelize dd?

I'm currently having trouble with dd invoked with a sparse file as input (if) and a file as output (of) with conv=sparse. dd seems to be using one core of the CPU (4 cores + 4 Intel Hyperthreads), so I've been wondering whether it's possible to parallelize dd. I've been looking into info dd and man dd and there seems to built-in function in the version of corutils 8.23. AFAIK

  • an enhanced version/fork with internal handling of program parts in multiple threads (avoid context changes killing I/O performance) is preferred over
  • a solution with GNU parallel running locally is preferred over
  • a custom (possibly untested) code sniplet

How to avoid CPU being the bottleneck of an I/O intensive operation? I'd like to run the command on Ubuntu 14.04 with Linux 3.13.

Kalle Richter
  • 2.3k
  • 4
  • 24
  • 42