HP-UX Workload Manager User's Guide
Understanding how PRM manages resources
Management of real memory
Appendix F 449
Management of real memory
NOTE WLM manages memory based on your use of the keywords gminmem,
gmaxmem, and memweight in your WLM configuration.
A portion of real memory is always reserved for the kernel
(/stand/vmunix) and its data structures, which are dynamically
allocated. The amount of real memory not reserved for the kernel and its
data structures is termed available memory—available memory is not
the total memory on the system. Available memory is the amount
reported by prmavail. Available memory is consumed by user processes
and nonkernel system processes such as network daemons; therefore, it
varies over time. Because the size of the kernel varies depending on the
number of interface cards, users, and values of the tunable parameters,
available memory also varies from system to system.
PRM memory management allows you to prioritize how available
memory is allocated to user and application processes. This control
enables you to ensure that critical users and applications have enough
real memory to make full use of their CPU time.
Processes in the PRM_SYS group (ID 0) and the kernel get as much
memory as they need. They are not subject to PRM memory constraints.
The memory manager (prm2d) partitions memory with each workload
group getting a partition. A partition includes x Mbytes of memory,
where x Mbytes is equivalent to the group’s entitled percent of the
available memory. Each partition pages separately.
When system memory use is not at 100%, a workload group that does not
have its memory use capped can freely borrow excess memory pages from
other workload groups. If a process requires memory and its memory use
is capped, processes in the same workload group as the original process
are forced to page to free up memory.
When system memory use is at a peak, borrowed memory pages are
returned to the owning workload groups if needed. In addition, if a group
is exceeding its memory allocation, prm2d forces members of that group
to re-use their own memory pages.
prm2d does not allow groups to exceed their memory caps.