HP-UX Reference (11i v2 03/08) - 5 Miscellaneous Topics, 7 Device (Special) Files, 9 General Information, Index (vol 9)

p
physical_io_buffers(5) physical_io_buffers(5)
(Tunable Kernel Parameters)
NAME
physical_io_buffers - total buffers for physical I/O operations
VALUES
Default
0 buffers
Allowed values
Minimum:
384 buffers
Maximum:
65535 buffers
DESCRIPTION
Many physical I/O operations in the kernel use a shared pool of small pieces of memory (buffers) to hold
data being read or written to the I/O device. If no buffer is provided to the I/O operation routine, and no
kernel buffers are available because they are already in use for other physical I/O transactions, the caller
must wait for an available buffer. Under heavy I/O load with many threads attempting I/O operations
buffer scarcity can have a significant performance impact.
The physical_io_buffers
tunable allows the system administrator to raise or lower the amount of
kernel buffers to suit the I/O traffic on the machine to avoid this performance bottleneck.
Who is Expected to Change This Tunable?
This tunable should only be modified by those with a complete knowledge of both kernel behavior and
underlying device hardware.
Restrictions on Changing
When set to zero (default value), the kernel will attempt to compute the most appropriate value for this
tunable. Changes to this tunable take effect immediately.
Attempts to raise this tunable may fail with the [ENOMEM] error if insufficient memory is available to
the kernel to create the needed buffers.
When Should the Value of This Tunable Be Raised?
This tunable should be raised on machines with many I/O devices operating under simultaneous load.
Perceptible behavior would be long I/O operation times, where a
ps -fl call shows these I/O processes
sleeping with the same wait channel (the exact number of the wait channel may vary).
The value of the tunable should be raised to the number of concurrent I/O thread operations times the
number of devices. Since this may be difficult to gauge, raising the tunable by the number of sleeping
processes as reported by
ps -fl above and then monitoring for further bottlenecks would be recom-
mended.
What Are the Side Effects of Raising the Value?
Kernel dynamic memory usage is increased (buffers are not free). Specifically, each buffer requires 608
bytes of memory within the kernel.
When Should the Value of This Tunable Be Lowered?
If the tunable value is above the minimum, and physical memory is a scarce resource then the value can
be lowered if one of two cases is true:
There are many more buffers than concurrent threads performing reads or writes to the devices on the
machine; or,
The primary workload of the machine is memory bound and requires additional space so that a
corresponding I/O bottleneck is irrelevant to the overall machine usage.
What Are the Side Effects of Lowering the Value?
Physical memory is returned for kernel or user memory needs. Fewer buffers are available for reads or
writes to devices and some threads may sleep waiting for buffers. This may reduce system performance
for those threads.
What Other Tunable Values Should Be Changed at the Same Time?
A change to
physical_io_buffers is independent of any other tunables.
HP-UX 11i Version 2: August 2003 1 Hewlett-Packard Company Section 5225