How would you go about estimating a decent blocksize (other than by
testing)? My first instinct would be to go for some percentage of
the drive's cache. (And it had better be a factor of the amount you
want to copy I suppose.)
--
imalone
Available RAM. Use as big a block size as can possibly be read into
RAM (once you start caching to a drive you just as well be writing to
the destination drive otherwise you slow it down even more). We
played around with this a while back and it certainly makes a
difference (stands to reason as was already explained).
The one caveat would be if there are errors on the drive. If that is
the case, a full block is dropped (so if your block size is 4096
bytes, then 4K gets dropped instead of 512 bytes - now imagine
dropping a 256 meg block of data...). ddrescue will use two block
sizes - a larger one and a smaller one. If it hits an error it drops
back to the smaller one until it gets pass the error and then ramps
back up to the larger block size.
Jacques