dd gets slower while reading and writing

At first, it's showing wrong numbers, because Linux caches your writes. Also disk caches may speed up reading.

After a while caches are consumed (both read and write) and speed drops. dd calculates overall speed, so then it looks like speed is dropping constantly, while in fact it was very fast in the beginning and then slower after that, but average drops slowly.

If you wait a while after finishing previous dd (or another disk intensive operation), caches will be written out and it should be fast again (in the beginning).


I found that bypassing the cache speeds dd up considerably. eg:

sudo dd if=/dev/sdxx of=whatever.img bs=32K iflag=direct oflag=direct 

transfers at over 50 MBps for the entire transfer on my system, not using the direct flags slows dd down alot after a few GB.

I hope this helps someone looking for this.