Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: iostat - multiblock read count
> I've got a funny feeling you just hit the 32K default Linux I/O limit.
> You see, until kernel release 2.6 (or patched 2.4), Linux will
> "secretly" transform any single I/O request for more than 32K bytes
> into as many 32K requests as needed. This takes time and physical
> overhead from the disk controller(s). When you reduce the dbfmr,
> you reduce this overhead and paradoxically (my my, what a long
> word for "D'uh!"...) you end up with a little more r/s. Read on.
>
>
Is this a Redhat limit?
None of my distribution seems to have a 32K I/O limit even on the now old fashioned 2.4 kernel.
Here is an example from a SLES8:
# dd if=/dev/zero of=/boot/foo bs=4096k count=10
10+0 records in
10+0 records out
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s
avgrq-sz avgqu-sz await svctm %util
/dev/sda1 0.00 40636.00 0.00 322.00 0.00 81920.00 0.00
40960.00 254.41 222.40 687.58 24.84 80.00
The iostat shows 322 real calls to the device (while 40636 were merged in this 322 thanks to the asynch i/o).
40960.00 K / 322 = 127.20 K
almost 128 K which can be the limit of my physical device.
(by the way: redhat bug 148838 speaks about a 128K limit on qlogic).
Regards
-- Fabrizio Magni fabrizio.magni_at_mycontinent.com replace mycontinent with europeReceived on Tue May 24 2005 - 11:32:14 CDT
![]() |
![]() |