HP Process Resource Manager User's Guide

Understanding how PRM manages resources
How PRM manages real memory resources
Chapter 252
To execute a process, the kernel executes through a per-process virtual
address space that has been mapped into real memory. Memory
management allows the total size of user processes to exceed real
memory by using an approach termed demand-paged virtual memory.
Virtual memory enables you to execute a process by bringing into real
memory parts of the process only as needed and pushing out parts of a
process that have not been recently used.
The system uses a combination of paging and swapping to manage
virtual memory. Paging involves writing unreferenced pages from real
memory to disk periodically.
Swapping takes place if the system is unable to maintain a large enough
free pool of memory. In such a case, entire processes are swapped. The
pages associated with these processes can be written out by the pager to
secondary storage over a period of time.
The more real memory a system has available, the more data it can
access and the more (or larger) processes it can execute without having
to page or cause swapping.
Available memory
A portion of real memory is always reserved for the kernel
(/stand/vmunix) and its data structures, which are dynamically
allocated. In addition, memory is reserved for nonkernel system
processes. The amount of real memory that remains is available for user
processes. This memory is known as available memory and is the
memory amount reported by prmavail. Available memory 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 varies from system to system.
For example, Table 2-6 shows a system with 1024 Mbytes of physical
memory. Approximately 112 Mbytes of that memory is used by the kernel
and its data structures, leaving 912 Mbytes of memory available for all
processes, including system processes. In this example, 62 Mbytes are
used by system processes, leaving 850 Mbytes of memory available for
user processes. PRM reserves 11% of the remaining memory in the
example to ensure processes in PRM_SYS have immediate access to
needed memory. Although you cannot initially allocate this reserve to
your PRM groups, it is still available for your PRM groups to borrow