1833268 Members
2998 Online
110051 Solutions
New Discussion

Re: async io

 
SOLVED
Go to solution
Rammig Claus
Frequent Advisor

async io

Hi,

i have a system with HPUX11i, Oracle 8.1.7 and invoced async io.
With lsof, i saw that the device /dev/async is used.
But in glance and with tusc i saw no aio_reads or aio_writes, only normal reads and writes.
Why.


Let the sun shine

Claus
No risc no fun
11 REPLIES 11
Arturo Perez del Galleg
Frequent Advisor

Re: async io

To control this feature it is a kernel parameter fs_async with value 1 for asynchronous I/O. See in sam.
HTH
Dietmar Konermann
Honored Contributor
Solution

Re: async io

Hi!

First, a Happy New Year to all of you! :-)

Second, the fs_async kernel tunable has nothing to do with the asyncdsk kernel driver. Claus, you should know that already.

Third, it's quite normal that you don't see any aio_*() calls... these are part of the "POSIX asynchronous I/O facility" and have also nothing to do with asyncdsk.

Best regards...
Dietmar.
"Logic is the beginning of wisdom; not the end." -- Spock (Star Trek VI: The Undiscovered Country)
Rammig Claus
Frequent Advisor

Re: async io

Hi Dietmar,

so we cannot differ between "normal" IO's and async IO's? Is it all the same system-call (read and write)?


Gru?? nach Ratingen and a happy new year
Claus
No risc no fun
Johannes Seippel
Occasional Advisor

Re: async io

Hi,

1st of all, the fs_async kernel paramter is intended only for hfs file systems. JFS does not support fs_async. So it is not of much use unless you are using HFS filesystems.


Back to the Oracle - /dev/async question:

To enable the asyncio enhancement that defers memory locking to improve application startup times, create the
async device file with minor number 256 using the following commands. The user must have super-user rights
to execute these commands.

Delete the old device file.
# rmsf -v /dev/async

Create the new device file
# mknod /dev/async c 101 256

Note: This minor number should only be used on systems that have enough physical memory so that paging is avoided. Paging can cause serious performance degradation with this new enhancement. On systems where paging is an issue, this minor number should not be used.

The effective user ID of the process calling async driver, typically called by a process for database applications suchas Oracle and Sybase, must be a superuser or the user must be a member of a group that has the MLOCK privilege.

To check the privilege capabilities for a group, issue the command:

/usr/bin/getprivgrp

If the output of getprivgrp(1) does not indicate that the group has the MLOCK privilege, it can be set by issuing the following command as root:

/usr/bin/setprivgrp MLOCK
T G Manikandan
Honored Contributor

Re: async io

Do you have any parameter like
DISK_ASYNC_IO =true in your init.ora file .

in Oracle
Revert
Rammig Claus
Frequent Advisor

Re: async io

Hi Johannes,

First: Happy new year.

Second: I only know the minor number 0,1,2,4,5,7 of /dev/async.
What is the minor number 256?


Gr????e
Claus
No risc no fun
Dietmar Konermann
Honored Contributor

Re: async io

Hi, again!

Currently I don't have any idea how to exactly track asyncdsk IOs. I will see if I can find something more.

The bit 8 (adding 256 to the minor) is a new one... for deferred memory locking.

This is from JAGad74567 (PHKL_24457 and later):

A new device minor number 256 is provided. When the driver is opened
with this minor number it ignores the request to lock the SGA and
instead locks the buffers when an IO is started (in the performance
path) and unlocks the same when the IO completes.

Note: This minor number should only be used on systems that have enough
physical memory so that paging is avoided. Paging can cause serious
performance degradation with this new enhancement. On systems where
paging is an issue, the minor number 0 should be used.

Best regards...
Dietmar.
"Logic is the beginning of wisdom; not the end." -- Spock (Star Trek VI: The Undiscovered Country)
Rammig Claus
Frequent Advisor

Re: async io

Hi Dietmar,

can you tell me the difference between the
POSIX asynchronous I/O facility" and the asyncdsk.

Thanks in advance ...
Claus
No risc no fun
Dietmar Konermann
Honored Contributor

Re: async io

Hi, Claus!

The asyncdsk implements is a propriatary interface, desgned especially for DB vendors to access raw devices.

For the POSIX async I/O facility see the aio(5) man page. This is an open POSIX standard... also for regular files.

Best regards...
Dietmar.
"Logic is the beginning of wisdom; not the end." -- Spock (Star Trek VI: The Undiscovered Country)
Rammig Claus
Frequent Advisor

Re: async io

Hi Dietmar,

if this is so, then the aio_physmem_pct kernelparameter has nothing to do with /dev/async.

When using /dev/async, is there a way to change this parameter in the same manner?

Best regards ...
Claus
No risc no fun
Dietmar Konermann
Honored Contributor

Re: async io

Hi, Claus!

No, this is not configurable from the kernel side. It's the application's task to allocate the memory. All you can configure is max_async_ports.

Ciao...
Dietmar.
"Logic is the beginning of wisdom; not the end." -- Spock (Star Trek VI: The Undiscovered Country)