physical_io_buffers(5) physical_io_buffers(5)
Tunable Kernel Parameters
NAME [Toc] [Back]
physical_io_buffers - total buffers for physical I/O operations
VALUES [Toc] [Back]
Default
0 buffers
Allowed values [Toc] [Back]
Minimum: 384 buffers
Maximum: 65535 buffers
DESCRIPTION [Toc] [Back]
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 [Toc] [Back]
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 recommended.
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: Sep 2004
physical_io_buffers(5) physical_io_buffers(5)
Tunable Kernel Parameters
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.
WARNINGS [Toc] [Back]
All HP-UX kernel tunable parameters are release specific. This
parameter may be removed or have its meaning changed in future
releases of HP-UX.
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
values. For information about the effects of installation on tunable
values, consult the documentation for the kernel software being
installed. For information about optional kernel software that was
factory installed on your system, see HP-UX Release Notes at
http://docs.hp.com.
AUTHOR [Toc] [Back]
physical_io_buffers was developed by HP.
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: Sep 2004 [ Back ] |