prm(1)prm(1)NAME
PRM overview
DESCRIPTION
Process Resource Manager (PRM) is a resource management tool used to
control the amount of resources that processes use during peak system
load. PRM can guarantee both a minimum and, depending on the resource,
a maximum amount of a resource available to a group of processes.
The most important PRM concept is groups. A PRM group is a collection
of processes that is assigned system resources. PRM allows the assign‐
ment of applications and users to PRM groups. PRM then manages each
group's CPU, disk bandwidth, and memory resources according to the cur‐
rent configuration.
Because resource management is performed on a group level, it is possi‐
ble that an individual user or application may not get the resources it
requires in a group consisting of many users or applications. In such
cases, reduce the number of users and applications in the group or cre‐
ate a group specifically for the resource-intensive user or applica‐
tion.
PRM has four managers:
CPU (CPU percentage)
Ensures that each PRM group is granted at least its allocation of
CPU resources. Optionally for FSS PRM groups (described below),
this resource manager ensures no more than its capped amount of
CPU resources. For PSET PRM groups (also described below), CPU
resources for the processes are capped by the number of cores
assigned to the group. (A core is the actual data-processing
engine within a processor. A single processor might have multiple
cores.)
MEM (memory)
Can manage both private memory and shared memory.
· For private memory:
Ensures that each PRM group is granted at least its share, but
(optionally) no more than its capped amount of memory. You can
also specify memory shares be isolated so that a group's
assigned memory shares cannot be loaned out to, or borrowed
from, other groups.
· For shared memory:
Ensures a PRM group is allocated a minimum number of megabytes
for use as shared memory.
DISK (disk bandwidth)
Ensures that each FSS PRM group is granted at least its share of
disk bandwidth. PRM disk bandwidth management can only control
disks that are mounted and under the control of HP's Logical Vol‐
ume Manager (LVM) or VERITAS Volume Manager(TM) (VxVM(R)). PSET
PRM groups are treated as part of PRM_SYS (PRMID 0) for disk band‐
width purposes.
APPL (application)
Ensures that specified applications and their child processes run
in the appropriate PRM groups.
The managers control resources, user processes, compartment processes,
and applications based on records in the configuration. The managers
use several types of records. The most important records are PRM group
records, because all other records must reference the PRM groups
defined in these records. The various records are described below. For
more detailed information on records, see prmconf(4).
Group Specifies a PRM group's name and its CPU allocation. There are
two types of PRM groups:
· FSS PRM group
The traditional PRM group, whose CPU entitlement is specified
in shares. This group uses the Fair Share Scheduler in the
HP-UX kernel within the system's default processor set (PSET).
CPU capping is optional and is available in two forms:
- For all FSS PRM groups in the configuration
By enabling the mode through the option
- On a per-group basis
(Available for HP-UX 11i v3 and later) By using the
field in the FSS PRM group record for only those groups
you want to cap
· PSET PRM group
A PRM group whose CPU entitlement is specified by assigning it
a subset of the system's cores (PSET). Processes in a PSET
have equal access to CPU cycles on their assigned cores
through the HP-UX standard scheduler. (A core is the actual
data-processing engine within a processor. A single processor
might have multiple cores. A core might support multiple exe‐
cution threads, as explained in the section HYPER-THREADING
below.) CPU usage is capped as a result of the number of
cores assigned to the PSET. PSET PRM groups are supported on
HP-UX 11i v1 (B.11.11) and later.
Memory Specifies a PRM group's memory allocation, either of private
memory or shared memory. There are two types of memory records:
· Private
Specifies a minimum amount of private memory. Optionally spec‐
ifies a cap on memory use as well as memory isolation (so that
memory cannot be loaned out or borrowed from other groups).
· Shared
Specifies a minimum amount of memory for use as shared memory.
(Capping and isolation are not needed for shared memory.)
PRM groups without a shared memory record default to PRM_SYS
for shared memory allocation.
Disk bandwidth
Specifies an FSS PRM group's disk bandwidth shares for a given
logical volume group. PSET PRM groups do not support disk band‐
width records. Disk bandwidth capping is not supported.
Application
Specifies an application (either explicitly or by regular
expression) and the PRM group in which the application should
run. Optionally, it specifies alternate names the application
can take at execution. (Alternate names are most common for com‐
plex programs such as database programs that launch many pro‐
cesses and rename them.)
User
Specifies a user or a collection of users (through a netgroup)
and assigns the user or netgroup to an initial PRM group.
Optionally, it can specify alternate PRM groups.
Unix group
Maps existing Unix groups to PRM groups.
Compartment
Maps existing secure compartments to PRM groups. (Use the
optional HP-UX feature Security Containment to create the secure
compartments. You can also create secure compartment configura‐
tions using a PRM utility such as or
PRM COMMANDS
PRM supports the commands below. For more information about a command,
see its manpage.
Launch the PRM graphical user interface (GUI). This interface has been
removed. For information on its replacement, see the xprm(1) manpage.
Analyze accounting files for data on resource usage and contention to
help plan PRM configurations.
Display resource availability to help plan PRM configurations.
Configure, enable, disable, and reset PRM. Also, validate PRM configu‐
ration files and control PRM's message logging. (You can perform many
of these tasks using the GUI available through HP System Management
Homepage.)
Display the current PRM group, memory, user, application, and disk con‐
figuration information.
Create a PRM configuration file or update an existing configuration
file.
Monitor current PRM configuration and resource usage by PRM groups.
Move processes or groups of processes to another PRM group.
Restore kernel settings after an unexpected termination of the PRM mem‐
ory daemon.
Run an application in its assigned group or in a specified group.
Configure or unconfigure the PRM GUI to be available in HP Systems
Insight Manager (SIM).
Configure or unconfigure the PRM GUI to be available in HP System Man‐
agement Homepage (SMH).
The HP PRM SNMP read-only agent. This gets started at boot time, and
should always remain running. It can be used to gather statistics from
any machine running PRM. (Available only on HP 9000 systems.)
Generates a minimal Security Containment configuration based on a PRM
configuration. The Security Containment configuration manages secure
compartments. (Available for HP-UX 11i v2 and later.)
Generates a minimal PRM configuration based on a Security Containment
configuration. The Security Containment configuration manages secure
compartments. (Available for HP-UX 11i v2 and later.)
Generates Secure Resource Partitions by creating both a minimal Secu‐
rity Containment configuration and a minimal PRM configuration based on
your input. (Available for HP-UX 11i v2 and later.)
COMMAND AVAILABILITY
See the individual manpages for information on whether root privileges
are needed to run a given utility.
HOW TO USE PRM
PRM has a command-line interface and a graphical interface. Using the
command-line interface is described below. For information on using the
graphical interface in HP System Management Homepage (reached through
the links Tools -> Resource Management -> Manage PRM Groups), see the
online help.
To use PRM's command-line interface:
1. Create a PRM configuration
Use the default configuration file /etc/prmconf to specify your con‐
figuration or edit the file (or a copy of it) to create a custom
configuration.
If you use a name other than /etc/prmconf for your configuration
file, it is suggested you place your configuration file in the
directory /etc/opt/prm/conf/ so that all your files are in a single
directory. Set the owner of the configuration file to hpsmh.
2. Load the configuration
You have two ways to load your configuration:
configfile
Load the configuration and initialize, moving user processes to the
owners' initial groups, moving applications to their assigned
groups, and moving compartment processes to their assigned groups.
configfile
Load the configuration keeping the existing arrangement of users,
processes, and groups.
3. Enable the managers
You must start the application manager for PRM to place user pro‐
cesses, application processes, or compartment processes in their
assigned PRM groups. Start the application manager using or
HYPER-THREADING
Hyper-Threading, available starting with HP-UX 11i v3 (B.11.31),
enables you to use multiple execution threads per core. Each execution
thread is a logical CPU.
PRM supports the Hyper-Threading feature for PSET PRM groups. When PRM
creates new PSET PRM groups, they inherit the Hyper-Threading state the
system had before PRM was enabled. You can override the inherited
state, specifying the desired state in the PRM configuration using the
field in group records. For more information, see the prmconf(4) man‐
page.
PRM sets the Hyper-Threading state for the default PSET, where FSS PRM
groups are created, to optimize workload performance.
NOTE: Do not change the value of a PSET's LCPU attribute, using either
or while PRM is running.
ONLINE CELL OPERATIONS
If you want to perform online cell operations, and:
· Your PRM configuration contains memory records
Stop memory management then after the online cell operation has com‐
pleted, restart memory management
· Your PRM configuration uses PSETs
Reset PRM then after the online cell operation has completed, restart
PRM management
For more information on online cell operations, see parolrad(1M).
BACKING UP PRM FILES
If you would like to make a backup of your PRM environment, be sure to
back up the following files:
· /etc/prmconf
The default PRM configuration file
· /etc/opt/prm/conf/*
The suggested location for additional PRM configurations (All files
in this directory should be owned by hpsmh.)
· /opt/prm/conf/*
A location previously suggested for additional PRM configurations
· /etc/rc.config.d/prm
Configuration file used by /sbin/init.d/prm
· /etc/shells and /opt/prm/shells
Files used by PRM to ensure PRM's application manager can differenti‐
ate shell scripts from one another; these files can also help the
application manager differentiate Java binaries
· /etc/cmpt/*.rules
File containing compartment rules configured for the system (This
file is actually an HP-UX 11i Security Containment file. If you have
created Secure Resource Partitions, you will have a *.rules file on
your system, although not necessarily in /etc/cmpt/. The Security
Containment feature is available starting with HP-UX 11i v2.)
SUPPORT AND PATCH POLICIES
Visit http://www.hp.com/go/prm for information on PRM's support policy
and patch policy. These policies indicate the time periods for which
this version of PRM is supported and patched. (Use the command on the
file /opt/prm/bin/prmconfig to print the version of your PRM.)
AUTHOR
PRM was developed by HP.
FILES
default Process Resource Manager configuration file
startup configuration file used by the startup script /sbin/init.d/prm
start/stop script useful for testing /etc/rc.config.d/prm options
and fully stopping PRM without manually
killing processes
system log file used by PRM
/etc/shells, /opt/prm/shells lists of executables that should be
considered as shells for the purposes
of the application and memory managers.
The daemons use these files, checking
/etc/shells followed by
/opt/prm/shells, to properly identify
shell scripts. A default list is kept
internally (sh, csh, ksh, keysh, rsh,
and rksh), but users often add others
to their systems (tcsh, pam, perl).
/etc/shells is typically for login
shells. Use /opt/prm/shells for shells
that you do not want to add to
/etc/shells.
SEE ALSOat(1), id(1), login(1), prm1d(1), prmagt(1), prmanalyze(1),
prmavail(1), prmconfig(1), prminitconfig(1), prmlist(1), prmload‐
conf(1), prmmonitor(1), prmmove(1), prmrecover(1), prmrun(1), prmsmh‐
config(1), prm2scomp(1), ps(1), scomp2prm(1), srpgen(1), cron(1M),
exec(2), fork(2), netgroup(4), prmconf(4).
HP Process Resource Manager User's Guide (/opt/prm/doc/PRM.ug.pdf)
HP Process Resource Manager homepage (http://www.hp.com/go/prm)
prm(1)