RE: [suse-oracle] enabling async IO

From: Eric Raskin (eraskin_at_paslists.com)
Date: Mon Sep 29 2003 - 21:17:43 CEST


From: "Eric Raskin" <eraskin@paslists.com>
Date: Mon, 29 Sep 2003 15:17:43 -0400
Message-ID: <088601c386be$5e77bec0$650aa8c0@ehrpc>
Subject: RE: [suse-oracle] enabling async IO

Ron:

Thanks again. I now have my AIO turned on as well. Just FYI, I got this
from the on-line manuals:

<--- begin manual page --->

DISK_ASYNCH_IO Parameter type Boolean
                 Default value true <--- ****
                 Parameter class Static
 
                 Range of values true | false
 

DISK_ASYNCH_IO controls whether I/O to datafiles, control files, and
logfiles is asynchronous (that is, whether parallel server processes can
overlap I/O requests with CPU processing during table scans). If your
platform supports asynchronous I/O to disk, Oracle Corporation recommends
that you leave this parameter set to its default value. However, if the
asynchronous I/O implementation is not stable, you can set this parameter to
false to disable asynchronous I/O. If your platform does not support
asynchronous I/O to disk, this parameter has no effect.

<--- end manual page --->

So, it appears that Asynch I/O is turned on by default in 9iR2. Maybe
there's something in the Release Notes or the Linux Install book that
overrides this.

After following your procedure, I also checked that it was enabled in my
system, and it is.

I did not check before making these changes (unfortunately). So, I don't
really know if you need to re-set this parameter or not. It seemed to work
fine for me without setting it.
 
Thanks for the help!

PS. For anyone else, note that the correct parameter is DISK_ASYNCH_IO
(with an "H"). Not trying to nit-pick, but it's frustrating for newbies
when things don't work as written! :-)

----------------------------------------------------------------------------

Async IO is not turned on by default (I manually set 'disk_async_io = true'
in init.ora after the relink.

>From metalink:

cat /proc/slabinfo |grep kio
for E.g
output with async io enabled.

> cat /proc/slabinfo |grep kio
kioctx 270 270 128 9 9 1 : 252 126
kiocb 66080 66080 96 1652 1652 1 : 252 126
kiobuf 236 236 64 4 4 1 : 252 126
oracle@rockjaw:/data2/oast/home>

output with async io disabled

> cat /proc/slabinfo |grep kio
kioctx 0 0 128 0 0 1 : 252 126
kiocb 0 0 96 0 0 1 : 252 126
kiobuf 0 0 64 0 0 1 : 252 126
.
There are 3 caches involved.
The kioctx and kiocb are Async I/O data structures that are defined in
aio.h. If it shows a non zero value that means async io is enabled.

If you have the source code loaded, you can review it at:aio.h
These data structures are using to track the I/O requests, and are allocated
as part of the __init aio_setup() call in aio.c.

-- 
To unsubscribe, email: suse-oracle-unsubscribe@suse.com
For additional commands, email: suse-oracle-help@suse.com
Please see http://www.suse.com/oracle/ before posting


This archive was generated by hypermail 2.1.7 : Mon Sep 29 2003 - 21:18:04 CEST