Re: 答复: Check if async_io is enabled at disk-level

From: Deepak Sharma <>
Date: Tue, 16 Sep 2008 09:20:59 -0700 (PDT)
Message-ID: <>

Using nmon on the test server, shows values changing for "Actually in use", but same does not happen on production server, both AIX machines.

Using truss on the dbwriter in test shows this:

thread_wait(1180)                               = 0
kioctl(12, 1448627996, 0x0FFFFFFFFFFF5070, 0x0000000000000000) = 0
kioctl(12, 1448627996, 0x0FFFFFFFFFFFB1B0, 0x0000000000000000) = 0
times(0x0FFFFFFFFFFFD2A0)                       = 519703833
times(0x0FFFFFFFFFFFD1F0)                       = 519703833

On prod, something like :

thread_wait(2640)                               = 0
thread_wait(2590)                               = 0
thread_post(3043721)                            = 0
kioctl(12, 1448627996, 0x0FFFFFFFFFFF4E70, 0x0000000000000000) = 0
kioctl(12, 1448627996, 0x0FFFFFFFFFFFAFB0, 0x0000000000000000) = 0
kioctl(12, 1448627996, 0x0FFFFFFFFFFFAEB0, 0x0000000000000000) = 0

However, using truss in test (where I think async is working based on nmon changing values), I still do not see calls such as aio_write or kwrite etc.


----- Original Message ----
From: "" <>
Sent: Tuesday, September 16, 2008 9:54:34 AM
Subject: 答复: Check if async_io is enabled at disk-level

I think what you have seen with nmon just confirms you are using kaio. If it is using threaded aio then the aioserver will be used.
Truss should proves that. I am not sure what the system call is like on aix, on solaris it is pwrite vs kaio(write...). Should be somrthing similar

Sent via BlackBerry by AT&T
From:  Deepak Sharma <>
Date: Mon, 15 Sep 2008 21:39:09 -0700 (PDT)
To: <>
Subject: Check if async_io is enabled at disk-level


We are using ODM (Oracle Disk Manager) on one of our DBs, and the disk_asynch_io is TRUE in the database. I have also read that ODM supports kernel asynchronous I/O.  The platform is AIX 5.3

Using 'nmon' and choosing "A = Async I/O Servers", this is what we see :

Total AIO processes= 100 Actually in use=   0 

This might indicate that AIO is not happening at kernel-level.  

How else can we verify if async I/O is actually happening at Kernel-level?  We could possibly truss the DB Writer process(es) and check for the kernel-level calls for writes - what should we look for?  Is it kiowrite() instead of plain, write() ?


Received on Tue Sep 16 2008 - 11:20:59 CDT

Original text of this message