prmconf(4)prmconf(4)NAMEprmconf - Process Resource Manager (PRM) configuration file
DESCRIPTION
The Process Resource Manager (PRM) configuration file defines PRM
groups, CPU allocations and caps, private memory shares and caps, pri‐
vate memory isolation, shared memory allocation, user access permis‐
sions, application assignments to PRM groups, compartment assignments,
and disk bandwidth shares. The default PRM configuration file is
/etc/prmconf.
If the default configuration file is missing, create the file using the
command. For more information, see prmloadconf(1).
PRM configuration files can be edited manually or by using the PRM GUI
(available in HP System Management Homepage).
The configuration file can contain various types of records; however,
you do not have to use each type of record.
The record types are:
Group (required)
Defines PRM groups, CPU allocations, and CPU caps. A PRM group
record may define a traditional PRM group (FSS PRM group) or a
PSET PRM group. For more information on these two types of PRM
groups, see prm(1).
Memory Specifies a PRM group's memory allocations, either of private
memory or shared memory.
User
Specifies which PRM groups a user can access.
Application
Assigns applications to PRM groups.
Disk
Defines disk bandwidth shares for a specific logical volume
group (LVM) or disk group (VxVM). (You cannot specify disk
records for PSET PRM groups.)
Compartment
(Available for HP-UX 11i v2 and later.) Assigns 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 configurations using a PRM util‐
ity such as or
Unix group
Assigns processes running as a specific Unix group to a PRM
group.
Records are separated by newlines, fields by colons, user access list
elements and application alternate name list elements by commas. No
spaces can separate the fields or parts of fields on any line.
In general, pattern matching notation is allowed. The are the applica‐
tion name and the alternate name fields in the application record (see
the PATTERN MATCHING NOTATION section in regexp(5)). It is also possi‐
ble, starting with PRM C.03.02, to use Extended Regular Expressions for
the alternate name field in the application record (see the EXTENDED
REGULAR EXPRESSION section in regexp(5)), but such a regular expression
must be the only alternate name in that particular record.
Comments are introduced with the character, and continue to the end of
the line. (Be aware however, that a few PRM records also start with a
character.)
Here is an example PRM configuration:
#
# Process Resource Manager Configuration
#
# PRM Group records
#
OTHERS:1:5::
payroll:2:40:50:
finance:3:40:55:
tools:HIER:15::
tools/compilers:HIER:50::
tools/compilers/C:4:50::
tools/compilers/Fortran:5:50::
tools/mail:6:5::
management:PSET:::2:3,4
#
# PRM Memory records
#
#!PRM_MEM:1:5:10:::
#!PRM_MEM:2:90::::
#!PRM_MEM:3:50:40:::
#!PRM_MEM:tools:50::::
#!PRM_MEM:tools/compilers:50::::
#!PRM_MEM:4:50::::
#!PRM_MEM:5:50::::
#!PRM_MEM:6:5::::
#!PRM_MEM:management:20::::0:0:
#
#
# PRM Shared Memory records
#
#!SHARED_MEM:2:10
#!SHARED_MEM:tools/compilers:10
#
# PRM User records
#
root::::PRM_SYS
user1::::payroll,OTHERS
user2::::finance,payroll
user3::::OTHERS,management
#
# PRM Application records
#
/usr/bin/dbxyz::::payroll,dbx*pay
/opt/perl/bin/perl::::payroll,'\report.pl .*-f [^ ]*/payroll/'
/opt/perl/bin/perl::::finance,'report.pl'
/bin/cc::::tools/compilers/C
/etc/ftpd::::finance
/usr/bin/f??::::tools/compilers/Fortran
/usr/bin/mail::::tools/mail
/usr/bin/mgkit::::management
#
# PRM Disk records
#
/dev/vg01:1:5::
/dev/vg01:payroll:40::
/dev/vg01:finance:40::
/dev/vg01:tools:25::
/dev/vg01:tools/compilers:50::
/dev/vg01:tools/compilers/C:15::
/dev/vg01:tools/compilers/Fortran:50::
/dev/vg01:tools/mail:50::
#
# PRM Compartment records
#
#!SCOMP:payroll_comp:payroll
#!SCOMP:finance_comp:finance
#!SCOMP:C_comp:tools/compilers/C
#!SCOMP:Fortran_comp:tools/compilers/Fortran
#!SCOMP:mail_comp:tools/mail
#!SCOMP:management_comp:management
#
# PRM Unix group records
#
#!UXGRP:finance_dept:finance
#!UXGRP:users:(NONE)
#!UXGRP:mail:tools/mail
TYPICAL PRM PLACEMENT RULES
The PRM application manager goes through the following steps, checking
conditions or records, to determine in which PRM group to place a
process.
1. Manually moved processes
Leave manually moved processes (processes moved using prmrun or prm‐
move) in their current PRM groups.
2. Compartment records
3. Application records
4. Root processes
Move any process running as root to the group (or to root's initial
group if explicitly given in a user record).
5. User records
6. Unix group records
7. Move the process to the group.
For more information, see the PRM User's Guide
(/opt/prm/doc/PRM.ug.pdf).
RESOURCE ALLOCATION
Resource allocation refers to the amount of CPU, disk bandwidth, or
real memory resources assigned to each PRM group in a PRM configuration
file. For FSS PRM groups, resource allocations are typically specified
in shares. For PSET PRM groups, CPU allocations are specified by
assigning a specific number of cores. (A core is the actual data-pro‐
cessing engine within a processor. A single processor might have multi‐
ple cores. A core might support multiple execution threads, as
explained in the section HYPER-THREADING in the prm(1) manpage.) When
allocating shared memory, the allocations are in megabytes.
The PRM administrator specifies PRM groups, assigning CPU allocations
for each. Assigning memory or disk bandwidth shares is optional, how‐
ever you cannot assign disk bandwidth shares to PSET PRM groups.
In versions of PRM prior to C.01.08, resources were allocated in per‐
centages, where the amount of a resource allocated had to sum to 100.
In version C.01.08 and later, resources are allocated based on shares
(with the exception of CPU allocation in PSET PRM groups for version
C.01.09 and later). The shares model enables simpler additions and
removals of groups to a configuration because the total amount of a
resource allocated no longer has to sum to 100. Rather, the group's
allocation is determined by the group's shares value relative to the
sum of its and its siblings' shares values.
A share is a guaranteed minimum when the system is at peak load. When
the system is not at peak load, PRM shares are not enforced.
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, then allocates a percentage of the system resource to
each PRM group based on the group's shares value relative to the sum of
its and its siblings' shares values. In a configuration with no hierar‐
chies, the defined groups are children of an implied parent.
The following table illustrates the concept of shares. Note that the
OTHERS group is included automatically with its minimum 1 shares.
┌──────────┬────────────┬───────────────┐
│PRM group │ CPU shares │ CPU % │
├──────────┼────────────┼───────────────┤
│ GroupA │ 1 │ 1/4 = 25.00% │
│ GroupB │ 2 │ 2/4 = 50.00% │
│ OTHERS │ 1 │ 1/4 = 25.00% │
└──────────┴────────────┴───────────────┘
PRM memory caps are specified as absolute percentages--not shares. Each
cap must be greater than the percentage represented by the group's mem‐
ory shares. As always, memory caps do not have to sum to 100%.
CPU allocation in a PSET PRM group is not shares-based. Instead, the
system administrator groups specific cores together and allocates them
to a PSET PRM group. Once these cores are assigned to a PSET PRM
group, they may not be used in other PRM groups until a new configura‐
tion is loaded. The processes, users, and applications assigned to the
PSET PRM group have equal access to CPU cycles on the specified cores
through the HP-UX time-share scheduler. The CPU resources for the pro‐
cesses are capped by the number of cores assigned to the group.
It should be noted for CPU allocation that when both FSS and PSET PRM
groups are configured, the shares model is in effect only for cores not
assigned to a PSET PRM group. For example, instead of getting 50
shares on each core, the FSS PRM group would get 50 shares from only
those cores not assigned to PSET PRM groups.
PSET PRM groups are treated as part of PRM_SYS (PRMID 0) for disk band‐
width purposes.
RECORD FORMATS
The PRM record formats are discussed in the following sections.
Group records
Use group records to define PRM groups and their CPU allocations/caps.
Specify a group record using one of the following formats, based on the
desired setup (FSS PRM group, hierarchical group, or PSET PRM group,
respectively):
GROUP:PRMID:SHARES:[MAX]:
GROUP:HIER:SHARES::
GROUP:PSET:::[CORES]:[CORE_LIST][:PSET_ATTR]
where
Is the PRM group name. The PRM group can be the traditional PRM
group (FSS
PRM group) or a PSET PRM group. To use PSET PRM
groups, you must have the PSET software installed.
The group name must contain at least one alphabetic character
and contain no more than 49 characters. Use names that are less
than characters long for optimal display by the command.
In a hierarchy, an FSS PRM group's full name is formed by com‐
bining its short name with all of its ancestors' group names,
using a slash ("/"), similar to a file's pathname:
tools/compilers/C:4:50::
tools/compilers/Fortran:5:50::
Hierarchical grouping is not supported for PSET PRM groups.
Is the FSS PRM group ID. FSS PRMIDs must be uniquely assigned
integer values
between and (inclusive) or between and (inclusive) start‐
ing with HP-UX 11i v2 Update 2. PRMID 1, also known as
the OTHERS group, is the default group for users not
explicitly assigned to a group. PRMID 1 is required.
PRMIDs for PSET PRM groups are assigned by PRM and are
not specified in the group record.
Indicates the FSS PRM group is a parent group in a hierarchy.
Because parent
groups are an abstract concept and do not require an ID,
the HIER keyword is used to denote them.
You can nest FSS PRM groups inside one another forming a
hierarchy of groups similar to a directory structure. You
specify resource shares at each level of the hierarchy.
If a group has child groups, the parent group's resource
shares are distributed to the children based on the
shares they are assigned. If a group has no child groups,
it uses the shares.
In the example below, the tools group is a parent group.
Its child groups are tools/compilers and tools/mail.
OTHERS:1:5::
payroll:2:40::
finance:3:40::
tools:HIER:15::
tools/compilers:HIER:50::
tools/compilers/C:4:50::
tools/compilers/Fortran:5:50::
tools/mail:6:5::
The tools group's 15 shares equates to 15% of the system
CPU resources. The two child groups (compilers and mail)
split the 15%, with the compilers groups receiving 50/55
of the 15%, and the mail group receiving 5/55 of the 15%.
The reserved groups OTHERS (PRMID 1) and PRM_SYS
(PRMID 0) cannot be parent group names. Also, you cannot
use PRMID 0 for a child group. However, you can use PRMID
1 for a child group.
Because FSS PRM group names are limited to 49 characters,
a hierarchy can have no more than 25 components. Using
single-character group names with each but the last fol‐
lowed by a slash character ("/"), the hierarchy can go to
a maximum depth of 25 levels.
Hierarchical grouping is not supported for PSET PRM
groups.
Indicates the PRM group is a PSET PRM group. In this case,
SHARES is not
used. Instead, the CORES and CORE_LIST fields should be
used.
When you have PRM groups based on PSETs enabled:
· Do not modify the PSETs manually using the command
· Do not adjust CPU counts in virtual partitions using
the command
· Do not adjust Instant Capacity (iCAP), Temporary
Instant Capacity (TiCAP), or Pay Per Use resources
using the or commands
· Do not perform online cell operations, using or any
other interface, while PRM is managing the system (For
more information, see the WARNINGS section in the prm‐
config(1) manpage.)
Is the FSS PRM group's CPU shares. Shares are integer values
ranging
from to (the largest integer value).
An FSS PRM group's percentage of the system CPU resources
is determined by dividing the number of its CPU shares by
the sum of its CPU shares and the CPU shares of its sib‐
lings. If the total number of shares is 100, each
group's shares represent the percent of CPU resources
that the group receives.
When mode is enabled, the percentages computed from the
values of the FSS PRM groups are also used as caps. For
information on this mode, see the option in prmconfig(1).
You can enable per-group CPU capping using the field dis‐
cussed next.
(Available for HP-UX 11i v3 and later.)
is an upper bound for CPU consumption for the FSS PRM
group. It is an integer percent value, ranging from the
percentage determined by the group's number of CPU shares
to 100.
The sum of the max values in a configuration does not
have to be 100%.
The percentage computed from the value, instead of the
value, is used as the group's upper bound when mode is
enabled. This mode enables capping for all FSS PRM groups
in the configuration. For more information on this mode,
see the prmconfig(1) manpage.
Is the number of cores assigned to the PSET PRM group. The range
for this
field is from 0 to MAX_CORE-1. The number of cores must
agree with the number of cores in if is specified. If it
is not specified, PRM chooses which cores to use. How‐
ever, PRM does not guarantee to choose an optimal set of
cores.
Is the comma-delimited list of core IDs for the cores to be
assigned to the
PSET PRM group. You cannot specify core ID 0 in The num‐
ber of cores specified in the field must match the number
of cores listed in
Passes attributes for the specified PSET to HP-UX. (For a com‐
plete
attribute list, see the option in the psrset(1M) man‐
page.) The only attribute currently available is the log‐
ical CPU (Hyper-Threading) feature, available starting
with HP-UX 11i v3 (B.11.31). Set this attribute as fol‐
lows:
LCPU=ON
Explicitly enables Hyper-Threading
LCPU=OFF
Explicitly disables Hyper-Threading
If is not specified, a nondefault PSET inherits the
Hyper-Threading state the system had before PRM was
enabled. (The state from before PRM was enabled is used
because PRM may change the Hyper-Threading setting for
PSET 0, where FSS PRM groups are created, to optimize
workload performance.)
Memory records
Use memory records to control allocation of both private and shared
memory. For private memory control, use a record starting with For
shared memory control, use a record starting with
If memory records are present, the configuration file cannot contain
the PRM system group, PRM_SYS. This group has PRMID 0.
The syntax for each of these records is discussed below.
Do not perform online cell operations, using or any other interface,
when PRM is managing memory. For more information, see the WARNINGS
section in the prmconfig(1) manpage. Using a private memory record,
you can specify a minimum amount of memory for a PRM group. You can
also specify a cap on memory use and isolation (preventing a group from
borrowing or lending memory.)
Specify a private memory record using the syntax:
where
Identifies the start of a private memory record.
The character does not denote the start of a comment
in this case.
Is a PRM group ID or PRM group name.
If you use PRM memory management, there must be a mem‐
ory record corresponding to each group record.
Is the PRM group memory shares. Shares are expressed as
integer values between and
Is optional and specifies an upper bound for any non-HIER PRM
group's (FSS
or PSET) memory usage. values are expressed as inte‐
ger percent values between the percent represented by
its shares and inclusive.
Memory max values do not have to sum to, and can even
exceed, 100%.
Allow a PRM group to borrow or lend memory resources. Leave both
fields
blank to allow unrestricted borrowing and lending.
Assign both fields a value of 0 to isolate a memory-
critical group to ensure it gets exactly the memory
you give it.
You cannot set to 0 for the group.
Using a shared memory record, you can specify a minimum amount of
shared memory for a PRM group. (Unlike private memory, there is no need
to specify a cap on memory use or isolation for shared memory.)
PRM groups without a shared memory record default to PRM_SYS for shared
memory allocation.
The shared memory control feature is supported on HP-UX 11i v2 Update 2
and later.
Specify a shared memory record using the syntax:
MEGABYTES
where
Identifies the start of a shared memory record.
The character does not denote the start of a comment
in this case.
Is a PRM group ID or PRM group name for a group that already has
a private
memory record. This group ID or group name cannot cor‐
respond to a parent group in a PRM group hierarchy.
You can selectively specify shared memory records: Not
every PRM group must have one.
MEGABYTES Is the size of the desired shared memory allocation
for the PRM group in megabytes. This value serves as a
request for a minimum allocation.
The size should reflect the needs of the application
in the PRM group. Shared memory management is opti‐
mized for one shared memory segment, such as one Ora‐
cle SGA, per PRM group.
If the PRM group uses a larger shared memory segment,
it must borrow the difference. It attempts to borrow
the difference from its private memory allocation
first, then from other user-defined PRM groups, and
then from the group. You should avoid this borrowing,
if possible, by determining how much shared memory a
workload allocates and then setting MEGABYTES to 1.1
times that size.
The minimum MEGABYTES value corresponds to the page
size. (Page sizes can be 4KB, 8KB, 16KB, or 64KB. You
must have at least 256 pages, so the minimum MEGABYTES
values are 1, 2, 4, or 16 depending on the system's
page size.) The maximum value is limited by the
available megabyte value reported by minus the
MEGABYTES values for all shared memory records and the
megabyte value corresponding to the sum of the amounts
for all memory records.
User records
Use user records to specify the PRM groups a user or members of a net‐
group can access.
Specify a user record using the syntax:
where
Is either an individual user's login name or a + character
followed by a netgroup name.
Login names must be in /etc/passwd. Netgroup
names must be associated with a list of login
names in /etc/netgroup.
If you assign processes that would typically
run in to another group, be sure that group has
sufficient resources. (For example, if you are
using memory records, be sure the group gets
enough memory.) Take particular care when cre‐
ating user records for root as such records
will move essential system processes, such as
PRM ignores any line in /etc/netgroup that has
an empty user field.
If a netgroup is specified in the user record,
then at configuration time, any member of that
netgroup who does not have an explicit user
record assumes the INITIAL and ALTERNATEGROUPs
that the netgroup is assigned.
Is the name of the initial PRM group for the user or netgroup.
This is the
group chooses when launching the user's login
shell, as well as when scheduling jobs for that
user.
Is the name of one of the alternate PRM groups for the user or
netgroup. Alternate groups are groups other
than the initial group that the user or net‐
group members are allowed to run processes in.
The user or netgroup members can start a
process in an alternate group using or can move
an existing process to an alternate group using
If or is in a hierarchy, it must be a leaf group (a group
with no child groups). You cannot assign users to parent
groups.
The second, third, and fourth fields must be null.
Alternate groups are not meaningful for superusers because they
have access to all PRM groups.
The user record for nonsuperusers cannot contain the name of the
PRMID 0 group, PRM_SYS, the PRM system group.
When using group hierarchies, you can only assign user records
to groups that do not have child groups.
Application records
Use application records to assign applications to PRM groups.
This record type defines which group the application should run in and,
if specified, which process name it must have. The information is used
by and in addition to the application manager.
When enabled, the application manager checks application processes on a
regular basis to ensure they are running in their assigned PRM groups.
This dynamic checking makes it possible for PRM to handle configured
applications that are launched manually without using or that are cre‐
ated as child processes. (For information on these checks, see the sec‐
tion TYPICAL PRM PLACEMENT RULES above.)
You can turn off this dynamic checking using
You can also use the command to manually move application processes.
PRM ignores the application records for missing applications.
This functionality, as opposed to generating errors, is desir‐
able when using a single configuration for multiple systems that
have different applications installed.
Applications records are also ignored if they reference applica‐
tions on filesystems that are not mounted at the time PRM is
configured. Reload the PRM configuration with prmconfig when the
filesystem is present for the application records to take
effect.
Specify an application record using the syntax:
where
Is the full path of the application, the shell/interpreter in
the case of a
script, or your Java binary--starting with a
slash (/).
For information on how to specify scripts or
Java programs in application records, see the
section SCRIPT EXAMPLE below.
Pattern matching in APPLICATION
You can use wildcards ([, ], ?, *) to specify
the filename, but not the directory name. For
information on wildcards, refer to the PATTERN
MATCHING NOTATION section in regexp(5).
If a record uses wildcard characters, all valid
executables without explicit application
records that match the pattern assume the GROUP
of the record.
Filenames are expanded to their complete names
when a PRM configuration is loaded. Explicit
application records take precedence over appli‐
cation records that use wildcards. If an appli‐
cation without an explicit record is matched by
several records that use pattern matching, the
record closest to the beginning of the configu‐
ration file is used.
Is the name of the PRM group in which the application or script
will run.
If is in a hierarchy, it must be a leaf group
(a group with no child groups). You cannot
assign applications to parent groups.
Is an alternate name the application is assigned when executed.
For most binaries and scripts, it should match
the first item in the COMMAND column (that is,
the command argument with no options) of the
output from the command. For Java programs, it
should match the first argument to the Java
binary that is not preceded by a dash ( - ) in
the COMMAND column. For more information, see
ps(1).
Alternate names are common for complex programs
such as database programs that launch many pro‐
cesses and rename them. It is also common for
shells and interpreters used in scripts; the
names of the scripts are considered alternate
names. For Java programs, the classnames are
considered alternate names.
Using alternate names, you can place the vari‐
ous processes of a single application in dif‐
ferent PRM groups.
If is left blank in a record, that record
matches all processes running the executable
specified by regardless of name.
For an example showing how to specify scripts
or Java programs in application records, see
the section SCRIPT EXAMPLE below.
For an example showing how to specify an appli‐
cation that renames itself, see the section
RENAMED APPLICATION EXAMPLE below.
Pattern matching in ALTERNATE_NAME
You can use wildcards in an alternate name to
specify a range of alternate names. (For more
information, refer to the PATTERN MATCHING
NOTATION section in regexp(5)).
If there are multiple application records with
alternate names that match an application name
due to redundant pattern matching resolutions,
the "first" record to match the application
name takes precedence. For example, the appli‐
cation abb matches both of the following appli‐
cation records:
/opt/foo/bin/bar::::GroupA,a*
/opt/foo/bin/bar::::GroupB,*b
Because the *b record is first (based on ASCII
dictionary order), the application abb would be
assigned to the PRM group GroupB.
You can also use an Extended Regular Expres‐
sion, or ERE, as the alternate name in an
application record. (For more information,
refer to the EXTENDED REGULAR EXPRESSION sec‐
tion in regexp(5)). If you do so, the ERE
should be the only alternate name in the
record, and it should be within single quotes.
Other records can still have non-ERE alternate
names for the same application. Note that while
non-ERE alternate names are matched against
non-dash command-line arguments, Extended Regu‐
lar Expression alternate names are matched
against the entire available command line. Note
that commas within an ERE are not separators
for alternate names; they must match commas in
the command line.
You cannot use colons in an ERE, as PRM uses
colons for field separators.
If an ERE alternate name and a non-ERE alter‐
nate name both exist for the same application,
the non-ERE alternate name takes priority. If
multiple ERE alternate names match, the "first"
record to match takes precedence. For example,
the application abb matches both of the follow‐
ing application records:
/opt/foo/bin/bar::::GroupA,'a.*'
/opt/foo/bin/bar::::GroupB,'.*b'
Because the '.*b' record is first (based on
ASCII dictionary order), the application abb
would be assigned to the PRM group GroupB.
Notice, in the example PRM configuration file
above (near the top of the manpage), the use of
'\report.pl' to force lexical precedence over
'report.pl'.
Recall the syntax of the application record:
To place a script or Java program in a PRM group using an application
record:
1. Specify for the the full path of the:
· shell or interpreter used in the script, or the
· Java program
2. Specify the name of the script (just the name--no path) or
the Java classname as the
Because the full pathname is not required for a script, a
rogue user can get access to PRM groups--that would otherwise
not be accessible--by using the name of the script for new
scripts or wrappers.
3. Ensure the shell, interpreter, or Java binary is listed in
either /etc/shells or /opt/prm/shells.
For example, for a perl script named myscript.pl and using
/opt/perl/bin/perl, the application record to place the script in group
would be:
/opt/perl/bin/perl::::scripts_grp,myscript.pl
For a Java program with classname TrainDemo and using
/opt/java1.4/bin/IA64N/java (according to output), the record to place
the program in group would be:
/opt/java1.4/bin/IA64N/java::::Java_grp_A,TrainDemo
To place a renamed application in a PRM group using an application
record:
1. Specify the full path of the application as the
2. Specify the new name the application takes once it is running
as the
For example, here are application records for an Oracle database with
two instances:
/opt/oracle/bin/oracle::::Finance,ora*Finance /opt/oracle/bin/ora‐
cle::::Sales,ora*Sales
The Oracle database executable is the same in both cases; however, the
alternate names specify different patterns to match. The patterns are
based on the instance names. Consequently, processes starting with
'ora' and ending with ´Finance´ are placed in the PRM group. Similarly,
processes matching the pattern ´ora*Sales´ go into the PRM group
Disk records
Use disk records to specify disk bandwidth shares. To use PRM's disk
bandwidth management, the disks to be controlled by PRM must be mounted
and under the control of HP's Logical Volume Manager (LVM) or VERITAS
Volume Manager(TM) (VxVM(R)).
Disk bandwidth management works only when there is contention for disk
bandwidth, and it works only for actual I/O to the disk. (Commonly, I/O
on HP-UX is staged through the buffer cache to minimize or eliminate as
much disk I/O as possible.)
Do not specify disk bandwidth records for configurations used inside
virtual machines.
You cannot specify disk bandwidth records for PSET PRM groups. PSET PRM
groups are treated as part of PRM_SYS (PRMID 0) for disk bandwidth pur‐
poses.
Specify a disk record using the syntax:
where
Is the name of a logical volume group (LVM) or a disk group
(VxVM). This
name must begin with /dev/v to be recognized as a disk
record.
Is the FSS PRM group ID or FSS PRM group name. PRMIDs must be
uniquely assigned
integer values between and (inclusive) or between and
(inclusive) starting with HP-UX 11i v2 Update 2. If
you use disk bandwidth management for a volume group
(or disk group), then all FSS PRM groups must have
disk entitlements for that volume group (disk group).
Is the FSS PRM group disk bandwidth shares. Shares are expressed
as
integer values between and
The fourth and fifth fields must be null.
Compartment records
Available for HP-UX 11i v2 (B.11.23) and later.
Use compartment records to map existing secure compartments to PRM
groups. (Use the HP-UX feature Security Containment to create secure
compartments. You can also create secure compartment configurations
using a PRM utility such as or
Specify a compartment record using the syntax:
where
Identifies the start of a compartment record.
The character does not denote the start of a comment
in this case.
Is the alphanumeric name (of no more than 255 characters) of an
existing
secure compartment that you created using the HP-UX
feature Security Containment. (You can also create
secure compartment configurations using a PRM utility
such as or The compartment must be active.
A compartment can have no more than one record.
This record type takes precedence over application
records and user records.
The PRM group to which the secure compartment is to be mapped.
If you are using group hierarchies, the group you
specify must not have any child groups.
You can specify
in place of a group name if you would like to explic‐
itly show in your configuration file that a compart‐
ment is not to be mapped to a PRM group.
Unix group records
Use Unix group records to map existing Unix groups to PRM groups.
Specify a Unix group record using the syntax:
where
Identifies the start of a Unix group record.
The character does not denote the start of a comment
in this case.
Is the alphanumeric name (of no more than 255 characters) of an
existing Unix
group.
A Unix group can have no more than one record.
This record type yields precedence to application
records, compartment records, and user records.
The PRM group to which the Unix group is to be mapped.
If you are using group hierarchies, the group you
specify must not have any child groups.
You can specify
in place of a group name if you would like to explic‐
itly show in your configuration file that a Unix group
is not to be mapped to a PRM group.
HP INTEGRITY VIRTUAL MACHINES
HP Integrity Virtual Machines (Integrity VM) is a robust soft parti‐
tioning and virtualization technology that provides operating systems
isolation, shared CPU resources (with sub-CPU granularity), shared I/O,
and automatic, dynamic resource allocation. It is available for HP-UX
11i v2 running on HP Integrity servers.
Given a system with Integrity VM installed:
· You cannot run PRM on the VM host as the vm_fssagt already controls
FSS groups on behalf of Integrity VM
· You can run PRM inside any of the virtual machines
Do not specify disk bandwidth records for configurations used inside
virtual machines.
WARNINGS
The following fields have character limitations as noted:
· PRM group name can be no longer than characters.
· Some configured application processes will not be moved to
their assigned groups by if their full path is greater than
characters and their filename is greater than characters
and/or the alternate name is greater than characters (see
prmconfig(1)).
Results are unpredictable if these fields are longer than the limits
specified above.
AUTHOR
was developed by HP.
FILES
default PRM configuration file
/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), prm(1), prm1d(1), prmagt(1), prmanalyze(1),
prmavail(1), prmconfig(1), prmlist(1), prmloadconf(1), prmmonitor(1),
prmmove(1), prmrecover(1), prmrun(1), prm2scomp(1), ps(1), srpgen(1),
cron(1M), exec(2), fork(2), netgroup(4), regexp(5)
HP Process Resource Manager User's Guide (/opt/prm/doc/PRM.ug.pdf)
HP Process Resource Manager homepage (http://www.hp.com/go/prm)
prmconf(4)