prmconf man page on HP-UX

Man page or keyword search:  
man Server   10987 pages
apropos Keyword Search (all sections)
Output format
HP-UX logo
[printable version]

prmconf(4)							    prmconf(4)

NAME
       prmconf - 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 ALSO
       at(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)
[top]

List of man pages available for HP-UX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net