> > 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.
This is similar to the netcat conversation yesterday.

