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

v
vps_chatr_ceiling(5) vps_chatr_ceiling(5)
(Tunable Kernel Parameters)
NAME
vps_chatr_ceiling - maximum (in kilobytes) of user selectable page size
VALUES
Default
1048576 (KB)
Allowed values
Minimum:
4 (KB)
Maximum:
4194304 (KB)
DESCRIPTION
The Translation Look-aside Buffer (TLB) is a microprocessor feature for virtual memory, where the most
recent physical to virtual address translations are cached, in the expectation that these translations are
likely to be needed again soon. This is based on the principles of spatial and temporal locality of address
references in programs. Historically, the TLB was entirely managed within hardware to achieve speed
optimizations while sacrificing the flexibility of software implementations. For example, easily changed
algorithms or table implementations.
In recent years, the flexibility of a software implementation of the TLB has regained importance over
pure hardware speed. Specifically, the idea of logical grouping of physical frames (whose size is fixed in
hardware) into ’superpages’ or algorithms using a single base address translation for many physical
frames, significantly reduces the lost cycles due to page faults assuming reasonable spatial and temporal
locality. For example, consider a scientific application working on an array where each element requires
1K of memory. Using the usual 4K physical frame size and referencing the array sequentially causes a
page fault that requires the page be read into memory from disk or swap, and loads the TLB with the
frame base address translation every fifth element.
This tunable sets the upper bound for virtual page size requested by a user application, as set with the
chatr command on the binary.
Who is Expected to Change This Tunable?
Anyone.
Restrictions on Changing
Changes to this tunable take effect at the next reboot.
When Should the Value of This Tunable Be Raised?
This tunable should be raised when a user application with known large memory set usage (such as a
database) is expected to need larger pages than the current value allows.
What Are the Side Effects of Raising the Value?
The side effects depend on the actual memory usage of the chatr’ed application, and if many users on the
system
chatr their applications for no good reason. In the first case, mistakenly chatr’ing an application
to use a large page size (512 MB or more) when the application uses memory in a sparse pattern, or has a
much smaller working set in general. For example, an application uses a shell script which only needs
64KB of memory total, or a scientific spare array analysis program that works on large data sets, but only
on very small portions of the data where the rest can be swapped out or not even allocated. Setting this
value for the application will result in several frames of physical memory being wasted if any of a virtual
large page is in core memory then all of it must be there. This is true because a virtual large page must
be constructed of contiguous physical frames, which may not always be available in the quantity desired,
leading to unneeded allocation delays.
In the second case, where several users
chatr their application for no good reason, keeping this tunable
low minimizes the performance hit on the rest of the system.
When Should the Value of This Tunable Be Lowered?
This tunable should be lowered if no user application actually needs large pages sized at the current tun-
able value to minimize the chance of a mistaken or malicious user causing wasted physical frames when
using
chatr with their applications.
What Are the Side Effects of Lowering the Value?
The only side effect is that applications must run with smaller page sizes.
Section 5−−344 Hewlett-Packard Company − 1 − HP-UX 11i Version 2: August 2003