Operating System - HP-UX
1827855 Members
1532 Online
109969 Solutions
New Discussion

How to Determine Asynchronous I/O Usage?

 
SOLVED
Go to solution
Bill Perez
Occasional Advisor

How to Determine Asynchronous I/O Usage?

How can one determine whether asynchronous I/O is (or could be) used on a system? There are certain features of Oracle that are advantageous (or disadvantageous) depending on whether you are using asynchronous I/O or not, but I don't know how to tell.
If you can't say something nice, say something surreal.
9 REPLIES 9
Jason VanDerMark
Trusted Contributor
Solution

Re: How to Determine Asynchronous I/O Usage?

You can enable Async I/O by modifying the fs_async Kernel parameter. It is set to 0 (sync. I/O) by default. Change it to 1 and you should be in business. You can find this and lots of other great tuning tips in the HP-UX Kernel Tuning and Performance Guide which is available all over the net. Here is the link I found:

http://www.hp-partners.com/edaweb_public/html/technical_support/tuning.html

Hope that this helps.

Good Luck,
Jason V.
Tie two birds together, eventhough they have four wings, they cannot fly.
Philip Chan_1
Respected Contributor

Re: How to Determine Asynchronous I/O Usage?

There should be a file called async under the /dev directory (/dev/async), do "fuser -u" on it and if it is being used then it should be opened by the Oracle process. Also, I guess that the Oracle startup log should have information on whether async I/O was in use.

Hope this help.
Bill Perez
Occasional Advisor

Re: How to Determine Asynchronous I/O Usage?

Thanks. Your answer is a lot more helpful than the documentation at that link, by the way--it never tells you what the default value of the "fs_async" parameter is. Don't you just *hate* manuals that describe parameters but don't tell you what the defaults are? I wonder how they expect people to know? How did *you* know?

On the system I'm working on, the "/stand/system" file has no "fs_async" parameter in it, so I guess that means asynchronous I/O is off.

If you can't say something nice, say something surreal.
Philip Chan_1
Respected Contributor

Re: How to Determine Asynchronous I/O Usage?

Bill,

Be careful, to what I know the fs_async parameter only apply for "file system" async I/Os, but most database engine (not 100% sure for Oracle) use "raw partition" async instead so you better check with your dba on this.
Andreas Voss
Honored Contributor

Re: How to Determine Asynchronous I/O Usage?

Hi,

you can check the fs_async paramater with:

echo "fs_async/D" | adb -k /stand/vmunix /dev/kmem

The result shows 0 (async off) or 1 (async on)

Regards
Bill McNAMARA_1
Honored Contributor

Re: How to Determine Asynchronous I/O Usage?

From the oracle Administrators Reference
A85346-01

1 SAM
2 Kernel Configuration
3 Drivers
4 configure async and regenerate kernel
- Select Add Driver to Kernel
5 To regenerate
- Choose Create Kernel from SAM Actions
- Place kernel into place and reboot
6 Modify init.ora
To disable the asynch IO Driver set the
initsid.ora DISK_ASYNC_IO to TRUE
reboot /sbin/shutdown -r 0

The Asynch Driver is now enabled.

7 create the device file /dev/async with major 101
ll /dev/async
if incorrect
mknod /dev/async c 101 0x0

8 chown oracle:dba /dev/async
chmod 660 /dev/async

Later,
Bill
It works for me (tm)
Dragan Krnic
Frequent Advisor

Re: How to Determine Asynchronous I/O Usage?

The constant is DISK_ASYNCH_IO not DISK_ASYNC_IO
Chris Taylor_2
New Member

Re: How to Determine Asynchronous I/O Usage?

So if the device driver has been enabled and the device /dev/async exists, DISK_ASYNC_IO = true (init.ora) then must fs_user be set to 1 if filesystems are used with oracle ?
Rammig Claus
Frequent Advisor

Re: How to Determine Asynchronous I/O Usage?

Hi Bill,

forget fs_async Kernelparameter:
This is only a kernelparameter for the HFS-Filesystem!

forget the init.ora parameter DISK_ASYNC_IO
The setting of this parameter is irrelevant for HPUX!

If /dev/async is configured correctly, writes to rawdevices are always async writes, writes to filesystems are always no async writes.
This is only for HPUX, not for Sun or AIX.

Best regards ...
Claus
No risc no fun