I usually use 1024000 or larger as a block size. (that's about 1mb) You should select a bs that's an increment of the device's block size. (usually 512 bytes) 512 is the default, and if you try to do a lot of io with that block size, yes it will take ages.

I've also found that dd'ing the rdisk (the character device) is a lot faster than the disk (block device) but I don't understand why that is. I'd expect the block device to be faster.

Also IO speeds vary depending on the bus, and also on the architecture. PPCs for example are a lot slower on USB drives, even on the newest g5's with 480 USB. I've found also that firewire 800 is faster on intel than ppc as well.

I wouldn't use that noerr conv if you are looking for io errors. Maybe it's getting errors and that slows it down or locks it, and you're not seeing it because of this?

You can also use the count param to tell it how many blocks (of the size you've specified) it does.


I work for the Department of Redundancy Department