aio_iosize_max.5 (2010 09)
a
aio_iosize_max(5) aio_iosize_max(5)
(Tunable Kernel Parameters)
NAME
aio_iosize_max - maximum size of any asynchronous I/O in an lio_listio(), aio_read(), or aio_write() call
VALUES
Failsafe
0
Default
0
Allowed values
0-0x10000000
Recommended values
0, 4096-262144
DESCRIPTION
This tunable places a limit on the size (in bytes) of asynchronous I/O operations that can be issued with
lio_listio (2), aio_read (2), or aio_write (2). It is useful for limiting the amount of memory that can be con-
sumed by asynchronous I/O operations.
When this tunable is at its default value of 0, it has no effect.
When this tunable is set to a positive number, all asynchronous I/Os of size larger than that number will
fail with [EINVAL]. Although this tunable will affect all applications that use asynchronous I/O, its most
common usage is in conjunction with
aio_proc_max. This combination is useful for limiting the system
resources that can be used by applications that use aio_reap (2).
Who Is Expected to Change This Tunable?
System administrators that run applications requiring heavy usage of AIO to disks or filesystems.
Restrictions on Changing
This tunable is dynamic. Changes to to this tunable take effect immediately after the change. All
processes on the system will be immediately impacted, including processes already running.
When Should the Value of This Tunable Be Raised?
aio_iosize_max should be raised for applications requiring heavy use of asynchronous I/O.
What Are the Side Effects of Raising the Value of This Tunable?
When raising the value of this tunable from 0 to any positive value, the limit defined by this tunable will
begin to be enforced. (See DESCRIPTION.)
However, once this tunable is a positive value, the only effect of raising it further is that larger I/Os can
be issued by applications. Limits such as
aio_physmem_pct will continue to be enforced after this
tunable is set. (Unless aio_proc_max (5) has already been used to disable them)
When Should the Value of This Tunable Be Lowered?
aio_iosize_max should be lowered when POSIX AIO performance is acceptable but there is concern
about buggy or malicious applications issuing excessively large I/Os that tie up system resources. When
this tunable is non-zero, its value should never be lower than the minimum I/O size required by trusted
applications running on the system.
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 tunable simply reduces the maximum
possible size of asynchronous I/Os. When this tunable is set to 0, it will cease to have an effect, and no
limits will be imposed on the size of individual asynchronous I/Os.
What Other Tunables Should Be Changed at the Same Time as This One?
No other tunables need to be changed at the same time as this one.
However, the most common usage is for this tunable to be used in conjunction with
aio_proc_max.In
this way, the total memory usage of all processes that use aio_reap (2) is constrained by the quantity:
(max number of process on system) * aio_proc_max * aio_iosize_max
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1