Date: Thu, 8 Aug 2002 16:24:24 +0930 From: Greg 'groggy' Lehey <grog@FreeBSD.org> To: Rob Ellis <rob@web.ca> Cc: freebsd-questions@FreeBSD.ORG Subject: Re: Best "bs" for dd copies (was: Re: Questions about vinum and failure of root partition) Message-ID: <20020808065424.GB8561@wantadilla.lemis.com> In-Reply-To: <20020807153832.GA53552@web.ca> References: <005e01c23dcb$061acbb0$6602a8c0@swbell.net> <200208070101.g7711iU06306@clunix.cl.msu.edu> <005e01c23dcb$061acbb0$6602a8c0@swbell.net> <3.0.5.32.20020807085441.02d62db8@mail.sage-one.net> <3.0.5.32.20020807102750.02d62db8@mail.sage-one.net> <20020807153832.GA53552@web.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, 7 August 2002 at 11:38:33 -0400, Rob Ellis wrote: > On Wed, Aug 07, 2002 at 10:27:50AM -0500, Jack L. Stone wrote: >> At 05:18 PM 8.7.2002 +0200, Siegbert Baude wrote: >>> So, if anybody knows how to calculate the best value out of the >>> technical parameters or can explain, why ~100k seems the best value (and >>> not e.g. something in the area of disk cache size) I also would be very >>> interested to hear. >>> What is the maximum at all, one can expect? Is it possible to reach the >>> maximum rate IBM claims for its disk with dd? >> >> Thanks for the follow-up on the "dd bs" side question. Clearly this >> parameter makes a big difference as does the CPU speed, UDMA, etc. I too >> would like to know of any way to calculate, but probably what you did by >> trial is a good approach for each particular specific setup/environment. > > i chose 102400 also by trial and error -- a biggish number that might > be a multiple of disk blocks. :-) > > smaller numbers made the dd slower, bigger numbers didn't seem to > be making it significantly faster... but i wasn't being scientific. The obvious intention is to minimize the number of transfers, so theoretically the larger the transfer, the better. The maximum I/O transfer size is limited to the value of MAXPHYS, which is defined in sys/param.h: #ifndef MAXPHYS #define MAXPHYS (128 * 1024) /* max raw I/O transfer size */ #endif The ATA subsystem uses this value. Last time I looked, SCSI drives were limited to 60 kB transfers, though this could have changed. I don't currently have any machine with SCSI disks connected, so I can't confirm that. A way to find is to run a command like dd if=/dev/da0c of=/dev/null bs=128k & and in the background do an 'iostat da0 1'. Here's an example with an IDE drive: === grog@zaphod (/dev/ttyp0) ~ 3 -> iostat ad0 1 tty ad0 cpu tin tout KB/t tps MB/s us ni sy in id 0 3 5.19 7 0.03 11 0 4 1 84 0 126 127.36 183 22.74 0 0 6 2 92 0 44 128.00 190 23.76 0 0 2 0 98 0 44 128.00 191 23.89 0 0 5 0 95 0 44 128.00 191 23.88 0 0 7 1 92 As you can see, it's really doing 128 kB transfers, for an average transfer rate of almost 24 MB/s. Greg -- When replying to this message, please copy the original recipients. If you don't, I may ignore the reply. For more information, see http://www.lemis.com/questions.html See complete headers for address and phone numbers To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020808065424.GB8561>