aio_proc_max(5)aio_proc_max(5)NAMEaio_proc_max - maximum number of async I/O operations that can be
queued by any process that uses aio_reap()VALUES
This tunable places a limit on the system resources that can be con‐
sumed by processes that use aio_reap(2). The limit is enforced at a
per-process level to improve scalability as the number of CPUs and pro‐
When this tunable is set to 0, it has no effect. That is, resource
usage will be restricted by the other limits provided on HP-UX. (These
include and setrlimit(2) with Use of these limits (while keeping at 0)
ensures compatibility with POSIX standards and legacy applications.
However, most of these other limits are enforced at the system-wide
level, and they can in some cases reduce scalability. To solve this
problem when compatibility with the other limits is not required, the
tunable can be set.
When is set to a positive value, it becomes the only tunable limit
enforced for processes that use aio_reap(2). Memory-usage limits (e.g.
or will NOT be enforced for aio_reap(2) processes when is set. How‐
ever, processes that use POSIX AIO without aio_reap(2) (i.e. only using
standard POSIX interface calls) will continue to have all of the old
For sysadmins wishing to obtain the increased scalability of without
giving up control of memory limits, the tunable can be set. That tun‐
able limits the size of each I/O, effectively constraining the total
memory usage of all processes that use aio_reap(2) by the quantity:
This approach provides full control of system-wide resource usage with‐
out depending on explicit system-wide constraints.
Note: when is set, processes that use aio_reap(2) can still set
process-specific limits with the limit. The minimum of and will be the
value that is enforced by the AIO subsystem. However, ALL other rlim‐
its related to AIO will have no effect (i.e. will not be enforced) for
aio_reap(2) users when is non-zero.
Who Is Expected to Change This Tunable?
System administrators that run applications requiring heavy usage of
AIO (with aio_reap(2)) to disks or filesystems.
Restrictions on Changing
This tunable is dynamic. Changes to to this tunable take effect imme‐
diately for new processes started after the change. But they do not
impact existing running processes. (That is, any process running at
the time of tuning will be "grandfathered" in, and will adhere to the
value held by this tunable at the time the process was started)
When Should the Value of This Tunable Be Raised?
should be raised for applications that make heavy usage of AIO with
What Are the Side Effects of Raising the Value of This Tunable?
When raising this tunable from its default of 0 to a positive value,
the effects described above will take place. (see However, once this
tunable is a positive value, the only effect of raising it further is
that more system resources can be used for asynchronous I/Os.
When Should the Value of This Tunable Be Lowered?
should be lowered when AIO performance is acceptable but there is con‐
cern about too many system resources being devoted to AIO.
What Are the Side Effects of Lowering the Value of This Tunable?
As long as it remains a positive value, lowering the value of this tun‐
able simply decreases the number of I/Os that each process can issue.
When this tunable is set to 0, it will cease to have an effect, and the
system will enforce only the old system-wide tunables described above
What Other Tunables Should Be Changed at the Same Time as This One?
No additional tunables need to be changed at the same time as this one.
However, can optionally be set if there is an interest in limiting mem‐
ory usage for AIO.
In addition, when is set to a positive value, another option is to
lower the values of the older system wide limits (such as and This is
useful because the older limits will have no impact on aio_reap(2)
users, and aio_reap(2) users are expected to consume the majority of
system resources. (Leaving less resources for processes governed by
the older limits)
All HP-UX kernel tunable parameters are release specific. This parame‐
ter may be removed or have its meaning changed in future releases of
Installation of optional kernel software, from HP or other vendors, may
cause changes to tunable parameter values. After installation, some
tunable parameters may no longer be at the default or recommended val‐
ues. For information about the effects of installation on tunable val‐
ues, consult the documentation for the kernel software being installed.
For information about optional kernel software that was factory
installed on your system, see at
was developed by HP.
SEE ALSOkctune(1M), sam(1M), aio_reap(2), gettune(2), settune(2), setrlimit(2),
aio(5), aio_iosize_max(5). aio_max_ops(5), aio_physmem_pct(5).
Tunable Kernel Parameters aio_proc_max(5)