PRM Product Overview
6
C might be much more important than application A or B. However, the standard UNIX scheduler
might not give application C the extra CPU resources required to meet its service goals.
How HP Process Resource Manager manages resources
PRM enables you to manage the most critical resources on a system: CPU, shared and private real
memory, and disk bandwidth. PRM manages these resources by controlling the allocation of these
resources to PRM groups.
Each PRM group is a partition of the system’s resources. Because this partitioning is accomplished in
the operating system, it can be changed at any time, even while the system is in use.
When PRM is configured on an HP-UX system, each executing process belongs to one of the defined
PRM groups. You define PRM groups by assigning a meaningful name and a CPU allocation.
Optionally, you can also allocate memory (private and shared) and disk I/O bandwidth. PRM
provides several options for assigning users and applications to the PRM groups.
PRM has two reserved PRM groups: PRM_SYS and OTHERS. These groups, which are created
automatically if you do not explicitly define them, are the default PRM groups for superuser and
non-superuser processes, respectively. Any process that is not explicitly assigned to an
administrator-defined PRM group is automatically placed in the appropriate default group.
Consequently, all user and application processes on the system belong to a PRM group.
You assign resource shares to PRM groups to allocate CPU, private memory, and disk I/O bandwidth
resources. A resource share is a guaranteed minimum when the system resource is fully utilized. If the
system resource is not fully used, busy groups can use the excess capacity (unless you specifically
disallow sharing). When the activity on the system consumes all of the available resource, PRM
enforces the shares to ensure that the specified policies are met. For shared memory, you can assign
a minimum amount of memory for a group to use. The resources you assign your PRM groups are
what remain after PRM assigns resources to the PRM_SYS group.
Resource shares allow simple additions and removals of groups to a configuration because each
group’s resource allocation is determined by its number of shares relative to the total number of
shares assigned in the configuration for the given resource.
Valid share values are integers from 1 to MAXINT (the maximum integer value, as defined in
/usr/include/sys/param.h). PRM calculates the sum of the shares and then allocates a percentage of
the system resource to each PRM group based on the group’s number of shares relative to the total
number of shares assigned.
The following table illustrates the concept. The OTHERS group is included automatically with its
minimum one share. The CPU shares assigned in the following table are what remain after the
PRM_SYS group takes the resources it needs. Thus, even though the percentages add up to 100, it is
not 100% of the system.
PRM group CPU shares CPU %
GroupA 1 1/4 = 25.00%
GroupB 2 2/4 = 50.00%
OTHERS 1 1/4 = 25.00%