On Wed, Jun 11, 2014 at 05:45:30PM +0000, Peter Fraser wrote:

> To duplicate a disk I used the following:
> 
> dd if=/dev/rsd2c of=/dev/rsd3c bs=32M seek=1 skip=1 conv=noerror
> 
> the bs=32M was picked because it was a large size, and the machine has lots of
> free memory.
> 
> Watching the machine I could see the disk activity lights blinking alternately
> about once a second
> and looks like, what I would expect, that dd does blocking I/O.
> 
> Is there any method of coping a disk or partition, or even a file that uses
> non-blocking I/O?
> 
> Such a method should cut the time down by half.
> 
> Also for dd the block size has always been a puzzle.
> Asking google gives various opinion, only agreeing that the number should be a
> power of two.
> I have always had the believe that a bigger size is never hurts as long as
> there is free memory available on the system.
> 
> Would there not be a method for dd to calculate what an optimal block size
> would be given the free memory and devices used.

It could very well be that large block sizes are the cause of lack of
parallelism. Try smaller ones, e.g. 64k.  But if dd writes and waits
for the write to finish, it would not matter much. 

        -Otto

Reply via email to