HP Process Resource Manager User Guide Version C.03.
© Copyright 1998-2010 Hewlett-Packard Development Company, L.P Legal Notice Confidential computer software. Valid license from HP required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice.
Contents Preface........................................................................................................8 New in this edition...................................................................................................................8 Supported platforms..................................................................................................................8 Notational conventions.................................................................................................
How PRM manages applications..............................................................................................31 How application processes are assigned to PRM groups at start-up...........................................32 How PRM handles child processes ......................................................................................32 Pattern matching for filenames.............................................................................................
Adding/modifying shared memory allocations ................................................................62 Removing private memory shares ...................................................................................63 Removing shared memory allocations .............................................................................63 Isolating private memory for a group isolating memory using a text editor............................64 Controlling applications..........................................
Setting the memory manager’s polling interval...........................................................................92 Setting the interval with prmconfig........................................................................................92 Setting the application manager’s polling interval.......................................................................92 Setting the interval with prmconfig........................................................................................
B HP-UX command/system call support........................................................116 C Monitoring PRM through SNMP...............................................................117 Accessing PRM’s SNMP data.................................................................................................118 Using OpenView’s snmpwalk............................................................................................118 Using OpenView’s xnmbrowser...............................................
Preface This document describes Release C.03.05 of HP Process Resource Manager (PRM). The intended audience for this document is system administrators. New in this edition This edition includes information on the following changes and additions: • Placement of processes in PRM groups based on real user IDs. The prmconfig -M option now offers two modes for enabling and disabling process placement based on real user ID: REALUIDON and REALUIDOFF. For more information, see prmconfig(1). • Support for IPv6.
NOTE: A note highlights important supplemental information. Associated documents Associated documents include: • HP PRM Version C.03.
Support and patch policies The http://www.hp.com/go/prm site provides 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. Training HP offers a course in HP-UX resource management using PRM. For information, including a course outline, visit: http://www.hp.com/education/courses/u5447s.
1 Overview This chapter introduces the basic concepts and functions of HP Process Resource Manager. It covers: • “What is HP Process Resource Manager? ” (page 11) • “Why use HP Process Resource Manager? ” (page 13) What is HP Process Resource Manager? Process Resource Manager (PRM) is a resource management tool used to control the amount of resources that processes use during peak system load (at 100% CPU resource or 100% memory resource).
cores (PSET). Processes in a PSET have equal access to CPU cycles on their assigned cores through the HP-UX standard scheduler. 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 specifies a cap on memory use as well as memory isolation (so that memory cannot be loaned out or borrowed from other groups).
prmrun Runs an application in its assigned group or in a specified group. prmsmhconfig Configure or unconfigure the PRM GUI to be available in HP System Management Homepage (SMH). prm2scomp Generates a minimal Security Containment configuration based on a PRM configuration. (The Security Containment configuration defines secure compartments. You can also create compartment configurations using the PRM utility srpgen.) Available starting with HP-UX 11i v2 (B.11.23).
Table 1 Resources managed by PRM Resource managed Shares Cap Management algorithm CPU Yes (for FSS PRM groups) Yes[LINEBREAK](on all groups in CPUCAPON mode; on a per-group basis is also available for HP-UX 11i v3 and later) PRM allocates time slices to FSS PRM groups proportional to their shares. When CPUCAPON mode is enabled, the FSS PRM group is given CPU time regardless of whether the time is needed. With per-group capping, the CPU time remains available to other PRM groups.
of Customer1’s processes receive 25% of the resource. This scenario assumes that the three processes fully consume the resource allocated to their groups. Figure 2 Balancing resource use between users Process1 GroupA Process3 25% 25% Process2 50% Customer2 GroupB HP-UX server Customer1 Prioritizing resource use between users Figure 3 illustrates how users’ access to resources can be prioritized using PRM. In this example, two university departments both contributed to the purchase of a new computer.
Figure 4 Prioritizing resource use for an application Process1 Process2 GroupB Process3 GroupA 25% 25% 50% GroupC User2 HP-UX server User1 Critical application and its child processes Limiting resource consumption The following example describes a situation where a system administrator needs to limit resource consumption. A system administrator has determined that screen savers displaying fractal designs consume as much CPU resource as permitted.
2 Understanding how PRM manages resources This chapter explains how PRM performs resource management. The following topics are covered: • “How PRM controls resources” (page 17) • “How PRM manages CPU resources” (page 22) • “How PRM manages real memory resources” (page 26) • “How resource allocations interact” (page 31) • “How PRM manages applications” (page 31) NOTE: • PRM does not support disk bandwidth control on VxFS.
Resource allocation Resources are allocated to PRM groups differently depending on the resource and the type of PRM group. For FSS PRM groups, resources are typically allocated in shares. For PSET PRM groups, you allocate CPU resources using processor sets. Real memory resources are allocated in shares (private memory) or megabytes (shared memory). What are processor sets? Processor sets allow cores on your system to be grouped together in a set by the system administrator and assigned to a PSET PRM group.
What are shares? Resource shares are the minimum amounts of a resource assigned to each PRM group in a PRM configuration file (default name /etc/prmconf). For FSS PRM groups, you can assign CPU and real memory shares, although only CPU share assignments are required. For PSET PRM groups, you can only assign real memory in shares. For both types of groups, you can also specify shared memory allocations.
Hierarchical PRM groups In addition to the flat divisions of resources presented so far, you can nest FSS PRM groups inside one another—forming a hierarchy of groups similar to a directory structure. Hierarchies allow you to divide groups and allocate resources more intuitively than you can with flat allocations. Note that PSET PRM groups cannot be part of a hierarchy. When forming a hierarchy, any group that contains other groups is known as a parent group.
4. 5. If the sibling group has no child groups, it uses the CPU resources itself. If the sibling group does have child groups, the CPU resource are distributed further based on the shares assigned to the child groups. Calculate the percentages of the resource they receive by repeating items 2 through 5. Consider the example in Table 5 (page 21), which shows the PRM groups at the top-level.
• Allows continued use of percentages – If you prefer using percentages instead of shares, you can assign each level in the hierarchy only 100 resource shares. • Facilitates giving equal access – If you want each PRM group to have equal access to a resource, simply assign each group the same number of shares. When you add a group, you do not have to recalculate resources and divide by the new number of groups; just assign the new group the same number of shares as the other groups.
PRM gives higher-priority FSS PRM groups more opportunities to use CPU time. Free CPU time is available for use by any FSS PRM group and is divided up between FSS PRM groups based on relative number of CPU shares. As a result, tasks are given CPU time when needed, in proportion to their stated importance, relative to others with a demand. PRM itself has low system overhead. Example: PRM CPU resource management Figure 2-2 illustrates PRM’s CPU resource management for two FSS PRM groups.
At Time C: • CPU resource use for Group1 and Group2 is limited to the assigned shares. After Time C: • PRM holds each group to its assigned available CPU resource percentage until total available CPU resource demand is less than 100%. This gives Group2 a priority for CPU resources over Group1. In contrast, in the standard HP-UX scheduler, CPU time is allocated based upon the assumption that all processes are of equal importance.
How PRM manages CPU resources for real-time processes Although PRM is designed to treat processes fairly based upon their assigned shares, PRM does not restrict real-time processes. Real-time processes using either the POSIX.4 real-time scheduler (rtsched) or the HP-UX real-time scheduler (rtprio) keep their assigned priorities because timely scheduling is crucial to their operation. Hence, they are permitted to exceed their group’s CPU share and cap. The CPU resources they use are charged to their groups.
Figure 7 PRM’s process scheduling on MP systems (Hyper-Threading disabled) If a process is locked down on a particular core, PRM does not reassign it, but does take it into account when distributing other processes across the cores. PRM manages the CPU resource only for the cores on a single system; it cannot distribute processes across cores on different systems.
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.
memory and its memory use is capped, processes in the same PRM group as the original process are forced to page to free up memory. When system memory use is at 100%, borrowed memory pages are returned to the owning PRM groups if needed. The time involved for the borrowed memory pages to be returned is dependent on the swap rate and the order in which old pages are paged out. If a group is exceeding its memory shares on a system that is paging, prm2d uses proportional overachievement logic.
Isolating a group’s private memory resources In addition to specifying private memory shares, the prm2d memory manager allows you to optionally specify a group’s private memory resources to be restricted from use by other groups and processes on the system. This type of restriction is called memory isolation. When a group’s memory shares are isolated, those memory shares cannot be loaned out to other groups. Memory isolation also means that memory cannot be borrowed from other groups.
Figure 8 Locked memory distribution Example: memory management This example shows how the PRM memory manager prm2d manages the competing memory demands of three PRM groups as system memory utilization approaches 100%. Figure 9 Memory management At Time A: • There is plenty of memory available on the system for the processes that are running. • Group1 is using its share, and Group2 is using slightly more than its share, borrowing excess from Group3. • Group3 is using much less than its share.
At Time C: • System memory use is near 100%. • Group3 is not getting sufficient memory and needs its loaned-out memory back. PRM then determines which groups are overachieving with respect to their memory entitlement. In this case, the increasing demand of Group3 causes Group1 and Group2 to be pulled toward their shares of 30% and 10% respectively despite their desire for more memory. Group3 is allowed to freely consume up to 60% of available memory, which it reaches at Time D.
execute permission to the application. An application can be assigned to only one PRM group at a time. Child processes inherit their parent’s PRM group. Therefore, all the application’s child processes run in the same PRM group as the parent application by default. You can explicitly place an application in a PRM group of your choosing with two commands. Use the prmmove command to move an existing application to another group. Use the prmrun command to start an application in a specified group.
/opt/special_apps/bin/*::::GroupS Filenames are expanded to their complete names when a PRM configuration is loaded. Explicit application records take precedence over application records that use wildcards. If an application without an explicit record is matched by several records that use pattern matching, the record closest to the beginning of the configuration file is used.
Because the ’.*b’ record is first (based on ASCII dictionary order), the application abb would be assigned to the PRM group GroupB. Knowing the names of all the processes spawned and renamed by the applications can help in creating pattern matching that is only as general as it needs to be. Eliminate redundant name resolutions whenever possible, and make sure pattern matching does not cause unwarranted moves.
6. Unix group records If a record exists for the effective group ID of the process and the record indicates a PRM group other than (NONE), move the process to the indicated PRM group. 7. Move the process to the OTHERS group.
The second and fourth records both seem to match the calendar command. The expressions are expanded in the order they appear in the configuration file. So, the second record is expanded first and is used for the calendar process, placing it in GroupB.
3 PRM configuration planning This chapter focuses on determining your PRM configuration needs. It explains: • “Using multiple configurations” (page 37) • “Selecting a configuration model” (page 37) • “Identifying resource use ” (page 40) • Using prmanalyze to quickly identify resource use Using multiple configurations Because PRM is configured using files, you can maintain numerous configurations using multiple configuration files.
NOTE: Although the preceding example shows CPU and memory resources allocated equally within each group, there is no requirement that these resource shares be equal.
◦ Word processing and miscellaneous tasks ◦ Mail application Table 9 shows how much CPU and memory resources each application is using.
Suppose the business application group (order processing, inventory) runs a critical database that requires on-demand, dedicated CPU cycles and memory. Create a PSET PRM group and assign the appropriate number of cores to it. Also, isolate the group’s memory resources.
Detailed analysis The following steps outline a more detailed inspection of CPU and memory resource use. This process is helpful to identify potential areas of conflict and ensure a workable PRM configuration. The prmanalyze utility can be very useful for detailed investigation into resource use. For information, see “Using prmanalyze to analyze your configuration” on (page 83) . 1.
4. Make adjustments After a trial period using the initial configuration, make adjustments to the configuration based on the following: 1. 2. 3. 4. 5. Collect data again.
Table 10 Initial configuration based on prmanalyze’s CPU report 3. 4. Application PRM group CPU shares mrkt_rsch Research 35 financials Finance 20 web_browser Web 5 sales_fcst Sales 15 All other applications OTHERS 25 Generate group/CPU records and application records to implement the configuration decided upon in Step 2.
Table 11 Initial configuration based on prmanalyze’s memory report (continued) 6. Application PRM group CPU shares Memory shares Memory cap web_browser Web 5 2 25% sales_fcst Sales 18 20 OTHERS 22 38 Generate memory records to implement the configuration decided upon in Step 5. Use the data you have collected to configure PRM, as explained in Chapter 7.
4 Setting up PRM This chapter explains how to set up PRM. It covers the following topics: • “Installing PRM ” (page 45) • “Setting PRM to start automatically at reboot ” (page 45) Installing PRM PRM is installed using the Software Distribution (SD) utilities. Installation of PRM typically requires a kernel build and a reboot of the system. For more specific information, see the release notes, which are available in the /opt/prm/newconfig/RelNotes/ directory. See the release notes on http://docs.hp.
5 Using PRM with HP System Management Homepage (SMH) HP System Management Homepage (SMH) enables you to perform various system administration tasks on a system through a single web interface. You can also configure and monitor PRM through SMH. Quick start to using PRM’s SMH interface The following steps outline how to use PRM’s SMH interface. For more information on configuring PRM using the SMH interface, see the PRM online help. 1. Determine which configuration model you are going to use.
7.
6 Using PRM with HP Systems Insight Manager (SIM) This chapter discusses how you can use PRM with HP Systems Insight Manager (SIM), which provides a single point of administration for multiple HP-UX systems.
The following sections present examples showing how to configure authorizations based on the user’s role. Role: PRM administrator With the authorizations from the table below, you can examine the configuration of all managed systems through Virtualization Manager. You can monitor and configure the amount of CPU and memory resources used by PRM groups on the CMS and managed systems.
For configuration tips, see “Configuration tips and requirements” (page 53). To create configuration files, once you navigate to the PRM interface, select the Configure tab. For information on how to use SIM to create the configuration, see the online help. 5. Load the configuration.
7 Configuring and enabling PRM on the command line This chapter explains the tasks necessary to configure and enable PRM.
6. Enable PRM: #prmconfig -e 7. Confirm that the processes are running in the appropriate PRM groups: #ps -efP Configuring PRM Configuring PRM is independent of enabling PRM. You can configure PRM without enabling it. In such a state, PRM stamps processes with PRM group identifiers so that their resource usage can be controlled when you enable the PRM CPU, memory, or application manager. For information on how to enable PRM, see “Enabling resource managers” (page 80).
In addition to syntax requirements, it is important to keep the following configuration file requirements in mind: • PRM automatically assigns system processes to the group PRM_SYS (PRMID 0) and calculates this group’s resource needs. You do not need to specify the PRM_SYS group in the PRM configuration file. NOTE: If you are configuring PRM to manage memory resources, the PRM configuration file must not contain a PRM_SYS group. If the group is already present, delete it.
is reserved for the system group, PRM_SYS. PRMID 1 is reserved for the user default group, OTHERS. PRMID numbers must be uniquely assigned. • PRM internally creates the group PRM_SYS (PRMID 0) and assigns system processes to it. Therefore, you do not need to specify a PRM_SYS group in the PRM configuration file. If you are upgrading an existing configuration file that contains a PRM_SYS group, delete this group. • The PRMID 1 (default name OTHERS) group must appear in the PRM configuration file.
You can explicitly add the PRM_SYS (PRMID 0) group to a configuration file. However, if you explicitly add the PRM_SYS group to a configuration file, it gets the CPU shares you assign it, which must equate to at least 20%. You cannot, however, assign memory shares to an explicitly defined PRM_SYS group.
automatically created by PRM. PRMID 1 is also reserved. It is known as the OTHERS group and is the default for users without user records. You must create this group explicitly.) PSET PRM group PRMIDs are assigned by PRM and are not specified in the group record. HIER Indicates the PRM group is a parent group in a hierarchy and that it has no PRMID. The reserved group names OTHERS and PRM_SYS cannot be parent groups. Also, you cannot use PRMID 0 for a child group.
PSET_ATTR Passes attributes for the specified PSET to HP-UX. (For a complete attribute list, see the -t option in the psrset(1M) manpage.) The only attribute currently available is the logical CPU (Hyper-Threading) feature, available starting with HP-UX 11i v3 (B.11.31).
#prmconfig -i [-fconfigfile] {-s | -c} To keep the existing assignments of users, processes, and groups, use the command: #prmconfig -k [-fconfigfile] {-s | -c} Use the -f configfile option to specify a file other than the default /etc/prmconf. The -s option displays warnings regarding the configuration file. (The -c option displays a subset of the -s warnings.) 6.
3. 4. 5. Remove or modify application, memory, or user records that referenced the PRM group removed in Step 2. Save the file and exit the text editor.
NOTE: Note that each memory record must be preceded by the #! characters. These lines are not treated as comments. A white paper, titled HP Process Resource Manager memory resource groups: Memory calculation, on the web at http://h20338.www2.hp.com/hpux11i/downloads/5983-1676EN.pdf presents a case study of setting memory allocations for PRM groups.
• A memory record for PRMID 5, which grants 5 memory shares. The memory cap is 15%. • A memory record for PRMID 6, which grants 20 memory shares. The memory is isolated—the group cannot loan or borrow available memory. Shared memory A shared memory record is a request that PRM try to keep a minimum number of megabytes of physical memory available for use as shared memory for the specified PRM group.
The example shows: • A memory record for PRMID 2, which specifies 10 megabytes of memory. • A memory record for the tools/compilers group. This record specifies 10 megabytes for the group. Adding/modifying private memory shares/caps To add or modify a memory record, follow these steps: 1. 2. Open the desired configuration file in a text editor. Using the syntax shown below: #!PRM_MEM:{PRMID|GROUP}:SHARES:[MAX]:::[[IMPORT]:[EXPORT]:] and explained in the section “Memory record syntax” (page 59): a. b.
3. 4. Save the file and exit your editor. Load the configuration using one of the commands below. To initialize, moving user processes to the owners’ initial groups and moving applications to their assigned groups, use the command: #prmconfig -i [-fconfigfile] {-s | -c} To keep the existing assignments of users, processes, and groups, use the command: #prmconfig -k [-fconfigfile] {-s | -c} Use the -f configfile option to specify a file other than the default /etc/prmconf.
2. Remove the line corresponding to the shared memory record you wish to remove. Shared memory records have the following form: #!SHARED_MEM:{PRMID|GROUP}:MEGABYTES 3. 4. Save the file and exit the text editor.
Controlling applications You can specify the PRM group each application can run in as discussed in the following sections: • “Adding/modifying an application’s group assignment ” (page 67) You can remove an application’s group assignment as discussed in the following sections: • “Removing an application’s group assignment ” (page 68) Duplicate application records Be careful to avoid duplicating application records.
NOTE: For scripts, the full path of the shell/interpreter used in the script must appear in either the file /etc/shells or the file /opt/prm/shells. For Java programs, the path of the Java being used—as displayed in ps output—must appear in either /etc/shells or /opt/prm/shells. For an example, see “Launching a Java program under PRM” (page 71). You can use wildcards ([, ], ?, and *) to specify the filename, but not the directory name.
/usr/bin/database::::order_process,db_orders,order_report* /opt/perl/bin/perl::::scripts,report_formatter.pl /usr/bin/mail::::mailserver The example shows application records for: • Processes renamed db_inventory and db_payroll by the executable /usr/bin/database and assigned to the group business_apps. • The process renamed db_orders by the executable /usr/bin/database and assigned to the group order_process. • The perl script report_formatter.pl, which is assigned to the group scripts.
5. Enable PRM’s application manager if it is not already enabled: #prmconfig -e APPL Alternatively, enable all PRM resource managers using prmconfig -e without any additional arguments: #prmconfig -e Example: Grouping an application by its alternate names and functions To place an application in the same group as its alternate names, add the application’s name to the list of alternate names.
2. Remove the line corresponding to the application record you wish to remove. Application records have the following form: APPLICATION::::GROUP[,ALT_NAME[,...,ALT_NAME]] NOTE: You may have multiple records for a single application. Be sure to locate all records for an application in the configuration file and remove the appropriate records. 3. 4. Save the file and exit the text editor.
Launching an application in its assigned group To launch an application in its assigned PRM group, you have two options: • Start the application, then wait 30 seconds (the application manager’s default interval) to allow it to place the application in its assigned group • 1. Follow the steps below: Ensure the application has an assigned PRM group. If not, edit the PRM configuration file by adding a record as explained in the section “Controlling applications” (page 65).
NOTE: The full path of the shell/interpreter used in the script must appear in either the file /etc/shells or the file /opt/prm/shells. Because the full pathname is not required for the script, a rogue user can get access to PRM groups—that otherwise would not be accessible— by using the name of the script for new scripts or wrappers. If the script is not regularly used or is under development, you can use prmrun or prmmove to place it in a PRM group.
User records specify PRM users and the groups they can access. Use the following syntax when specifying a user record: USER::::INITIALGROUP[,ALTERNATEGROUP[, ...]] where USER Is one of the following: • A user’s login name This name must correspond to the user’s name in password files that can be accessed by the C function getpwnam, such as /etc/passwd. If you assign processes that would typically run in PRM_SYS to another group, be sure that group has sufficient resources.
NOTE: If INITIALGROUP or ALTERNATEGROUP is in a hierarchy, it must be a leaf group (a group with no child groups). You cannot assign users to parent groups. For example, in the configuration below, TWO is a parent group and TWO/b is a leaf group. #Group records TWO:HIER:60:: TWO/b:3:50:: #User records user1::::TWO user2::::TWO/b # INVALID # VALID Consequently, TWO cannot be used in a user record. User records for nonroot users cannot contain the name of the PRM system group, PRM_SYS.
Use the -f configfile option to specify a file other than the default /etc/prmconf. The -s option displays warnings regarding the configuration file. (The -c option displays a subset of the -s warnings.) NOTE: If you change a user’s initial group, using prmconfig -i resets the user’s processes. With prmconfig -k, all of the user’s currently running processes continue to execute in their current group until a prmmove is done or until the user logs in again.
Use the -f configfile option to specify a file other than the default /etc/prmconf. The -s option displays warnings regarding the configuration file. (The -c option displays a subset of the -s warnings.) 5.
These compartment records map: • The compartment Comp1 into the group development • The compartment Comp2 into the group sales • The compartment Comp3 into the group mktg Adding/modifying a compartment’s group assignment To add or modify a compartment record, follow these steps: 1. 2. Open the desired configuration file in a text editor. Using the syntax shown below: #!SCOMP:COMPARTMENT_NAME:{GROUP | (NONE)} and explained in the section “Compartment record syntax” (page 75): a. b. 3. 4.
5. Enable PRM’s application manager if it is not already enabled: #prmconfig -e APPL Alternatively, enable all PRM resource managers using prmconfig -e without any additional arguments: #prmconfig -e Assigning Unix groups to PRM groups Unix groups are collections of users given Unix permissions as a whole. PRM allows you to map Unix groups to PRM groups without having to specify each user in the Unix group.
1. 2. Open the desired configuration file in a text editor. Using the syntax shown below: #!UXGRP:UNIX_GROUP_NAME:{GROUP | (NONE)} and explained in the section “Unix group record syntax” (page 77): a. b. 3. 4. Add or modify a line specifying a Unix group name. Add or modify the group—or replace it with (NONE). Save the file and exit your editor.
Checking the configuration file Use prmconfig -s to perform validation without changing the current PRM configuration. This can be helpful to validate a configuration file that will be activated by a script at a later time. To specify a configuration file other than /etc/prmconf, use prmconfig -s -f configfile.
Table 14 Differences in loads when a configuration is already loaded Command Description prmconfig -i[LINEBREAK](Initialize or Move) Loads a PRM configuration as follows: • Places processes subject to compartment, application, user, or Unix group records in their assigned PRM groups. • Places all currently running processes—not owned by root—in their owners’ initial groups, as defined in the owners’ user records. The initial group is OTHERS for nonroot users without user records.
NOTE: Before or after enabling PRM, you can fine-tune your configuration. See the chapter “Fine-tuning your PRM configuration ” (page 83) for details. Enabling resource managers with prmconfig To start all PRM resource managers (CPU, memory, and application), enter the following command: #prmconfig -e If there are no memory records, the memory manager is not started. However, even if there are no application records, the application manager does start.
group. The system group, PRM_SYS (PRMID 0), is automatically created by PRM, and system processes run there by default. Change your configuration file then load the new configuration, as indicated in the following steps: 1. 2. Change the configuration using prmloadconf or as explained in “Configuring PRM” (page 52). Load the configuration using one of the following commands.
8 Fine-tuning your PRM configuration This chapter describes the optional step of fine-tuning your PRM configuration. To adjust your configuration, you may need to perform several iterations of identifying resource use and assigning groups. Fundamentally, you need to understand what processes are run by what users and the percentages of resources they consume. How you collect this data depends on how your processes or system load varies from day to day.
The command to generate these reports: [LINEBREAK]prmanalyze -t {hourly | daily | weekly | monthly} • Conflict This report provides the most detail, highlighting only the instances where resources are scarce and users are in conflict. Use this report when fine-tuning a configuration. This report catches items that are missed by the time-based reports. After identifying conflicts, determine how much resource each PRM group needed during each conflict.
java debugger 608.99 50031.32 1.107E+03 1.678E+05 3.654E+04 3.002E+06 1.17 96.26 This report shows a debugger application consuming almost all the memory in OTHERS. This prevents other users from getting useful work done. The administrator can use acctcom to find the user running the debugger. If this user is a developer trying to locate a bug in the sales database program, change the user record to place him in the Sales group.
3 4 5 Jul 9 1 2 3 4 5 Jul 10 1 2 3 4 5 0.05 0.01 0.03 0.56 0.14 0.17 4116.09 1226.88 2479.65 0.22 0.87 19008.00 0.02 0.09 0.06 0.01 0.02 0.60 0.87 0.60 0.15 0.14 2208.72 7890.23 4833.73 1699.32 2442.53 0.09 0.88 7996.40 0.00 0.09 0.00 0.00 0.00 0.10 0.88 0.08 0.04 0.01 193.63 7348.53 180.96 198.73 74.50 23.82 7.11 14.36 11.62 41.51 25.43 8.94 12.85 2.42 91.89 2.26 2.48 4.15 This daily report indicates that the CPU resources are idle most of the time for this period.
NOTE: GlancePlus does not correctly track the PRM ID at the process level for HP-UX 11i v1 and later in versions C.02.65.00 through C.03.25.00. For correct metrics reporting for FSS PRM groups, use GlancePlus Version C.03.35.00. Also, GlancePlus returns incorrect data for the PRM_SYS group for PRM configurations with processor sets defined. Use the prmmonitor command instead of GlancePlus if you are using PSET PRM groups. 1. 2. 3. 4. 5.
Alternatively, you can use the PRM interface in HP System Management Homepage or in HP Systems Insight Manager to enable logging. 3. Check the /var/adm/syslog/syslog.log file to determine the percentage of available memory that PRM groups are actually using. Determine the memory manager’s PID: #ps -ef | grep prm2d Then check the file by performing a grep on the PID: #tail -f /var/adm/syslog/syslog.log | grepPID_of_current_prm2d 4. 5. 6. 7.
9 Administering PRM This chapter explains the tasks involved in the daily administration of PRM. Various PRM commands are mentioned in this chapter. See “Command reference” (page 101) for information on these commands. Moving processes between PRM groups This section explains how to move a process from one PRM group to another. You might want to move a process to a different PRM group if it is either not getting enough of or using too much of the resources allocated to its current group.
The prmlist command with the -a option displays exactly this information, however. It also shows each application’s PRM group assignment. For example, consider a configuration that includes only one application record.
PRM User Initial Group Alternate Group(s) -----------------------------------------------------------------guest OTHERS user0 even_PRM_group user1 odd_PRM_group user2 even_PRM_group prime_PRM_group user3 odd_PRM_group prime_PRM_group user4 even_PRM_group user5 Five root PRM_SYS For the users who are members of multiple netgroups, their initial and alternate groups are cumulative. For example, user2 is in the even and prime netgroups, with initial groups even_PRM_group and prime_PRM_group, respectively.
For more information on prmconfig, see the section “prmconfig” (page 106). Displaying application and configuration information To display information from the current PRM configuration file, including application record information, use the prmlist command. This command does not display state information. #prmlist PRM configured from file: File last modified: /etc/prmconf Sun Aug 15 12:11:34 1999 PRM Group PRMID CPU Entitlement ---------------------------------------------GroupA 2 55.00% GroupB 3 15.
Disabling PRM Disabling PRM does not change the PRM configuration—it only returns control to standard HP-UX resource management. In other words, processes are still assigned a PRMID, but only the standard HP-UX resource management determines what resources processes receive. Having PRM configured but disabled allows you to track resource use by PRM group through prmanalyze, GlancePlus, or acctcom without having PRM actually control the use of these resources.
PRM Group PRMID Entitlement Used ____________________________________________________________ OTHERS 1 20.00% 20.08% databases/inventory 2 10.00% 10.04% databases/order 3 20.00% 19.88% development 4 40.00% 39.96% mailserver 5 10.00% 10.04% PRM application manager state: Enabled (polling interval: 30 seconds) Logging PRM memory messages You can log PRM memory messages to a file. These messages contain information similar to that of the prmmonitor command.
Displaying groups’ allocated and used resources Using the prmmonitor command is the primary method to collect data on PRM group activity.
decreases if prm2d is running, because PRM reserves 11% of the remaining memory to ensure the processes in PRM_SYS have immediate access to needed memory. This command is useful in determining memory shares. For example, if a PRM group receives 50 of the 100 memory shares assigned, the number of shares equates to 106 Mbytes on this system. If that is too much or too little memory, the number of shares can be adjusted accordingly.
1 R 1 S 0 0 1 3387 3300 15 181 20 662e80 17 ttyp2 0:00 ps 1 4418 4220 4 168 24 821280 982 7ffe6000 ttyp2 0:02 spy The -R option, with a PRM group name or PRMID as an argument, displays the ps output for the invoker’s processes belonging to the specified group.
NOTE: The PRM groups must be enabled at the time the scopeux collector is restarted by the mwa restart scope command. If PRM is not running, data for some—or all—PRM groups may be absent from OpenView graphs and reports. Also, it may affect alarms defined in /var/opt/perf/alarmdefs. Automating PRM administration with scripts To automate PRM administration, you can create scripts that use prmconfig, prmmove, and prmmonitor.
To set the interval for the application manager, set PRM_INTL_APPL to the number of seconds you want the interval to last: PRM_INTL_APPL=seconds To set the interval for the memory manager, set PRM_INTL_MEM to the number of seconds you want the interval to last: PRM_INTL_MEM=seconds To log application manager messages to /var/adm/syslog/syslog.log, set PRM_LOG_APPL to one: PRM_LOG_APPL=1 To log memory manager messages to /var/adm/syslog/syslog.
uses login names to assign users to specific PRM groups, PRM is not able to distinguish between users attaching to the system using socket connections. Online cell operations If you want to perform online cell operations, and: • Your PRM configuration contains memory records Stop memory management (prmconfig -d MEM), then after the online cell operation has completed, restart memory management (prmconfig -e MEM).
A Command reference This chapter provides an overview of the PRM commands. The PRM commands are: • prmagt • prmanalyze • prmavail • prmconfig • prminitconfig • prmlist • prmloadconf • prmmonitor • prmmove • prmrecover • prmrun • prmsmhconfig • prm2scomp • scomp2prm • srpgen prmagt Syntax: prmagt -V prmagt [-plock | -stop | -intervalseconds] Availability: Only a root user can run the prmagt command. The prmagt utility is the PRM SNMP read-only agent.
Table 17 prmagt user options/parameters. (continued) Option Description -stop Shuts down the currently running agent (if any). -intervalseconds Specifies how often to sample CPU information. The seconds value must be an integer between one and MAXINT. The default for this interval is 60 seconds.Memory information is sampled every memory manager interval, as set by prmconfig. The default for this interval is 30 seconds.
NOTE: For memory, the average, peak, and percent KB values should be comparable to those presented by acctcom. However, the memory totals (in KB minutes) for prmanalyze may differ. This is because HP-UX accounting charges memory usage only when a process is actually running and presumes it takes up no memory whatsoever when the process is not using CPU time. This leads to artificially low numbers for PRM purposes.
Table 18 prmanalyze options/parameters (continued) Option/parameter Description -t {summary | conflict | hourly | daily | weekly | monthly} Specifies the report type. Valid report types are: summary (default) Provides a high-level view of resource use and is a good starting point when creating a new PRM configuration. [LINEBREAK]Abbreviated form:[LINEBREAK]-t {s | conflict c | h | d | w | m} See also the -1 option.
Table 18 prmanalyze options/parameters (continued) Option/parameter Description -dresource_density Specifies the floating-point resource_density threshold for a report. Use this option with the conflict report or one of the time-based reports (hourly, daily, ...). When used with the time-based reports, this option filters out time intervals with resource usage less than resource_density. Express the resource_density values in the units corresponding to the resource being analyzed.
prmconfig Syntax: prmconfig -V prmconfig [-i | -k] [-s | -c] [-fconfigfile] [-d | -e [manager]] [-r] [-u] [-h] [-w] [-p] [-m] [-I interval manager] [-Lmanager[logarg]] [-Mmode] Availability: This command is most useful to root users; however, users can invoke the command with either no options or with the -s option. This is the primary PRM administration command. With it, the PRM administrator loads a configuration, enables and disables the resource managers, and resets PRM.
Table 20 prmconfig root user options (continued) Option Description -d [manager] Disables PRM. This option followed by the manager keyword CPU, DISK, MEM, or APPL disables only the specified manager. When specifying multiple manager arguments, precede each argument with -d. Specifying -d without a keyword disables all managers. This command disables PRM so that only the standard HP-UX resource management is in effect. -e [manager] Enables PRM.
Table 20 prmconfig root user options (continued) Option Description -Lmanager[logarg] Logs PRM messages. Valid manager names are: MEM Logs memory manager messages. APPL Logs application manager messages. Messages are written to the file /var/adm/syslog/syslog.log. The logarg keyword STOP stops logging for the specified resource. -Mmode Specify a PRM operation mode. To specify multiple modes with the same command, repeat -M mode.
Table 21 prminitconfig options/parameters Options/parameters Description -a Configure the PRM GUI for SIM. You must run prminitconfig -a so that you can access PRM’s interface in SIM. Run prminitconfig -a after SIM is installed. NOTE: If you installed HP Virtual Server Environment Management Software A.03.00.00 or later and ran vseinitconfig -a, it ran prminitconfig -a for you, assuming PRM was already installed.
Table 22 prmlist user options (continued) Option Description -u [user| +netgroup] Displays all user record information. If user is specified, displays only information for the requested user records. If +netgroup is specified, displays all members of the netgroup and their PRM group assignments. Displays all compartment record information. -s [compartment] If compartment is specified, displays only information for the requested compartment record.
prmmonitor -V prmmonitor [resource| STOPPED] [-h] [-w] [-t] [-s] [interval[iterations]] Availability: Any user can run the prmmonitor command. The prmmonitor command displays statistics calculated over specified intervals. Use this command to show the percentage of CPU and memory allocated to, and used by, PRM groups. By default, prmmonitor prints one iteration of CPU and memory resource information after a one-second wait. It also lists the name and timestamp of the configuration file.
Processes to be moved can be specified by process ID, process group ID, or user login name. Root users can use prmmove to dynamically change the PRM group of one or more processes to any PRM group. Users can move processes they own to PRM groups listed in their PRM user records in the configuration file. You can specify the -p option, -g option, and -u option with multiple arguments in a single use of the prmmove command. Any user can run the prmmove command.
prmrun [-w] prmrun [-gtargetgrp| -i ] [application[arguments]] Availability: Any user can run the prmrun command. The user must also have permission to execute the application. The prmrun command launches a designated application in a PRM group. Table 27 describes the available options. Table 27 prmrun user options/parameters Option/parameter Description No options Lists the PRM groups the invoker can access. The first group in the list is the invoking user’s initial group.
prm2scomp Syntax: prm2scomp -pprmpath-sscomppath[-i] The prm2scomp command generates a minimal configuration for the HP-UX feature Security Containment—based on a PRM configuration. Table 29 describes the available options. Table 29 prm2scomp options/parameters Option/parameter Description -pprmpath Uses the PRM configuration file specified by prmpath to generate the Security Containment configuration.
Table 31 srpgen options/parameters Options/parameters Description -m Include memory records for each PRM group in the generated PRM configuration file. Each group’s memory allocation is set to the same value. -fbasepath Specifies basepath as the path and base filename for the generated configuration files. The Security Containment configuration file will be named basepath.scp. The PRM configuration file will be named basepath.prm. The basepath.
B HP-UX command/system call support Several HP-UX commands and system calls support PRM in assigning users and applications to the proper PRM groups. Other commands have options that allow you to use PRM more efficiently. In either case, this functionality is available only when PRM is configured. See the following tables for information on these commands and system calls. Table 32 lists HP-UX commands and system calls that support PRM groups.
C Monitoring PRM through SNMP PRM makes various information available through SNMP. This information can be viewed through products such as HP OpenView Network Node Manager. Reported data includes: • Resource usage assigned to and achieved by each PRM group • Manager states • Time of last PRM configuration NOTE: PRM’s SNMP data does not include any information on user records in the PRM configuration. PRM’s data is in the SNMP subtree hp.hpSysMgt.hpUXSysMgt.hpPRM.prmReadOnly.
Table 34 Structure of PRM’s SNMP data (prmReadOnly) (continued) PRM data Corresponding SNMP string Major sequence number* memSequenceNum MB available memAvail Manager version memManagerVersion Manager state memManagerState Manager interval memInterval Logging state memLoggingState Record count memGroupCount Global paging (Boolean) memPagingSeen Memory records: memTable Name memGroupName PRMID memPRMid Percent entitled memPercentEnt Percent maximum (cap) memPercentMax Percent of mac
1. If PRM’s SNMP agent is not already running, start it on each system from which you want to view data: #/opt/prm/bin/prmagt If you need to stop the agent, use its -stop option. You can have the agent automatically start at boot by setting the PRM_SNMPAGT variable in the file /etc/rc.config.d/prm to 1: PRM_SNMPAGT=1 2. Run snmpwalk, giving an argument to indicate the desired information. All information from that level and below is reported.
4. Enter “public” in the field Community Name.
5. Navigate to the PRM’s data by following the hierarchy: private enterprises hp hpSysMgt hpUXSysMgt hpPRM prmReadOnly The graphic below shows the beginning of the hierarchy.
Monitoring PRM through SNMP
6. Press the Start Query button to get all PRM data or continue navigating deeper to the desired level, then press the Start Query button. Graphing resource usage You can use xnmbrowser to graph various data. NOTE: xnmbrowser can only graph integer values. String values cannot be graphed. The xnmbrowser utility indicates an item that can be graphed by making the Graph button active, as seen in the following procedure. To see how many CPU ticks each PRM group is getting: 1.
2. Select the Graph button on the right side of the browser. A graph similar to the following appears.
Table 35 maps the PRM groups to their respective identifiers in the graph. Note how each group’s PRMID is used in its cpuTicksGot identifier. The development group comes in with approximately 4500 ticks. The databases/order group converges on 3500 ticks, while databases/inventory and mailserver come in at about 2000 and 1000 ticks, respectively. OTHERS and PRM_SYS get the fewest ticks. The amount of idle CPU, represented by cpuTicksGot.6, stays constant at 0.
D Creating Secure Resource Partitions The optional HP-UX feature Security Containment, available starting with HP-UX 11i v2 (B.11.23), provides “secure compartments,” which allow you to isolate processes and files. You can place one or more secure compartments in a single PRM group to manage the resource allocation for your secure compartments. Using these features together, you form Secure Resource Partitions.
E Using PRM with Serviceguard The optional HP product Serviceguard provides users and applications with a high availability environment. Serviceguard makes this environment possible by moving applications from one server to another when the original server or application session is unable to complete the desired jobs. You can set up PRM to control applications on the primary server and on a secondary server in the event of a failover.
# users root::::PRM_SYS # application records /opt/math/bin/tool::::math_dept,num_cruncher,print_answer /usr/local/games/tetris::::computer_dept EOF1 fi # is PRM turned on? /opt/prm/bin/prmconfig 2> /dev/null > /dev/null if [ “$?” -eq “1” ] then # need to initialize PRM /opt/prm/bin/prmconfig -ie -f /etc/opt/prm/conf/Serviceguard if [ “$?” -eq “1” ] then echo “WARNING : prmconfig -f /etc/opt/prm/conf/Serviceguard failed” return 0 fi else # make sure it has my group /opt/prm/bin/prmconfig | grep math_dept >
F Using PRM with HP Integrity Virtual Machines HP Integrity Virtual Machines (Integrity VM) is a robust soft partitioning and virtualization technology that provides operating systems isolation, shared CPU (with sub-CPU granularity), shared I/O, and automatic, dynamic resource allocation. It is available for HP-UX 11i v2 and later running on HP Integrity servers.
G PRM error messages This appendix lists all PRM error messages with cause and action text.
173 Message Cause Action 178 Message Cause Action Device name %s not a valid volume group First argument was not a valid volume group name. Either the format does not begin with /dev/v or no device of that description exists. Use the bdf command to determine the actual name of the logical volume group. Memory resource statistics unavailable to non-root users. Attempting to view data logged in as a user other than root. Log in as root to view this data.
Action Configure and enable PRM with prmconfig -ke or -ie options. PRM options are executed in command-line order. 226 Message Cause Action Cannot display configuration. PRM is not configured. prmconfig command used without options before PRM is configured. Configure PRM with prmconfig -k or -i before requesting PRM configuration and state information. 227 Message Cause Action PRM is disabled and not configured. prmconfig -d used before PRM is configured.
250 Message Cause Action Disable (-d) and enable (-e) are mutually exclusive. Specify only one on the command line. You cannot disable and enable in the same command. Choose either -d or -e. 251 Message Cause Action Extra arguments at end of command line. You provided more arguments than expected. Check command syntax for correct option usage. 286 Message Manager arg for prmconfig -d or -e may only be DISK, APPL, CPU or MEM.
Action Ensure the CPU manager is enabled, then attempt to enable CPUCAPON mode again. Message Action Unable to change the polling interval of the %s manager: (HP-UX error message) You are not running as root, the manager is no longer enabled, or an internal system failure. Log in as superuser and try again or check that the manager is running. If it is running, see if using prmconfig -r resolves the problem. Be sure to load a configuration and enable the resource manager after resetting PRM.
407 Message Cause Action Could not move process %d to group %s Internal system failure. Ensure the PRM group and PID still exist. 408 Message Could not move process group %d to group %s: (HP-UX error message) (perror) Internal system failure. Ensure the PRM group and PID still exist. Cause Action 409 Message Cause Action 411 Message Cause Action 412 Message Cause Action 413 Message Cause Action 417 Message Cause Action User %s does not have permission to move process %d.
Action Configure PRM with prmconfig -k or -i before executing prmmove command. 423 Message Cause Action Could not find process %d. Verify that indicated process ID is valid. If process ID not valid, try command again with correct process ID, otherwise no action is possible. 424 Message Cause Action Could not find process group %d. Verify that indicated process group ID is valid. If process group ID is not valid, try command again with correct process group ID, otherwise no action is possible.
Action Ensure configuration file /etc/prmconf or the specified file contains the group and user specifications you expect. Then reconfigure PRM using a prmconfig -k or -i command to resync the internal configuration file. 604 Message Cause Action User's PATH environment variable is empty. User’s PATH environment variable is not set. Add application’s directory to PATH environment variable and retry prmrun command.
Cause Action Options -g and -i cannot be used together. Specify either -g or -i and retry prmrun command. 620 Message Cause Action %s requires that PRM be configured. PRM is not configured. Configure PRM with prmconfig -k or -i before executing prmrun command. 626 Message Cause Action Could not find internal configuration file %s. Could not open internal configuration file %s for reading. Make sure file exists and is readable.
812 Message Cause Action Could not find full path of application %s. The full path of the application parameter could not be found. Make sure the syntax of the application parameter is correct. 813 Message Cause Action Please specify only one -s option. More than one -s option was specified on the command line. Specify only one -s option and retry the prmlist command. 814 Message Cause -s not valid. Compartments not available.
Action Check the spelling. 831 Message Cause Action Device record for %s not found. Name given is not a logical volume group. Check the spelling, then use bdf to check whether the device is mounted. 846 Message Cause Could not find configuration file name. Could not find the name of the original configuration file in the first two lines in the PRM internal working file. Reset PRM with prmconfig -r then load a configuration and enable PRM.
1005 Message Cause Action 1006 Message Cause Action Must shutdown memory manager before doing recovery. Recovery of suppressed processes is not allowed while memory manager is running. Shutdown the PRM memory manager by entering prmconfig -r before proceeding with recovery. Recovery cannot proceed during OL activity. Please try again later. Recovery of suppressed processes is not allowed while online cell operations are in progress.
prmanalyze error messages 142 1501 Message Cause Action illegal resource type %s The specified resource is not valid. Re-enter the command using a valid type: disk, mem, or cpu. 1502 Message Cause Action illegal sort key %s The specified sort key is not valid. Re-enter the command using a valid sort key: uid, gid, command, or prmid. 1503 Message Cause Action illegal report type %s The requested report type is not valid.
Cause Action The accounting files have too many records to process. Reduce the number of accounting files or raise the system’s memory-per-process value. 1514 Message Cause Action unable to create temp file in /tmp There is not enough space or you are not running the command as superuser. Check disk space, log in as superuser, and try again. 1515 Message Cause Action unable to open temp file %s There is not enough disk space or the file has been removed.
Cause Action You used the exclusion option. Do not use the exclusion option. 1528 Message Cause Action the option \”-%c\” requires an argument No option argument was used. Check command syntax for correct option usage. 1529 Message Cause Action the -d option requires a floating point argument An invalid floating-point argument was used. Check command syntax for correct option usage.
Glossary alternate group A PRM group other than the user’s initial group that a user can access using prmrun or prmmove. For users, these groups are listed in their user records (or their netgroups’ user records) in the PRM configuration file following the initial group. Root users can access all PRM groups, so alternate groups need not be specified in their user record. alternate name Other names assigned to processes spawned by an application.
lockable memory Memory that can be locked (that is, its pages kept in real memory for the lifetime of a process) by the kernel, by mlock(), or by plock() is known as lockable memory. Locked memory cannot be paged or swapped out. Logical Volume Manager (LVM) A disk-management tool used to partition physical disk drives. memory cap An upper limit on a PRM group’s memory use. memory isolation A way of separating a PRM group’s memory so that it cannot loan out to, or borrow memory from, other groups.
real memory Real memory is shared by all processes. The data and instructions of any process (a program in execution) must be available to the core by residing in real memory at the time of execution. real user ID An integer, assigned to a user at login, that uniquely identifies the username to HP-UX. resource manager Tool that either controls the amount of a resource that a PRM group uses or ensures applications run in their appropriate PRM groups.
Index A acctcom command fine-tuning your configuration, 83 support for PRM, 116 adding application records with a text editor, 67 compartment records with a text editor, 76 group/CPU records with a text editor, 57 memory records with a text editor (private), 62 memory records with a text editor (shared), 62 Unix group records with a text editor, 77 user record for root (automatically), 71 user records with a text editor, 73 advantages to using PRM, 13 alternate configuration files and the /etc/opt/prm/conf/
checking configuration file syntax, 51 differences between -i and -k, 80 error messages, 131 errors in the configuration file, 79 including full hierarchies in output with -h, 107 introduction, 12 loading a configuration file, 79 syntax, 106 unlocking a configuration file lock, 107 validating your configuration, 79, 106 prminitconfig introduction, 12 syntax, 108 prmlist error messages, 138 including full hierarchies in output with -h, 109 introduction, 12 syntax, 109 prmloadconf creating a new configuration
defined, 145 introduction, 11 shares specifying the number of shares, 54 CPU max, 56 creating the configuration file with prmloadconf, 51, 53 cron command support for PRM, 116 D disabling PRM prmconfig syntax, 106 displaying application record information with prmlist, 109 available memory with prmavail MEM, 105 group/CPU record information with prmlist, 109 PRM configuration file information with prmlist, 109 user record information with prmlist, 109 E effective user ID, defined, 145 enabling PRM, 81 prm
M O management application specifying application management, 65 CPU specifying CPU resource management, 54 memory specifying memory management, 59 max value for CPU, 56 maximum number of groups (64 or 256 depending on your HP-UX version), 54 memory allocations specifying, 59 cap, defined, 146 capping specifying the cap (max value), 59 with a text editor, 60 displaying available memory with prmavail, 105 manager, 59 defined, 146 introduction, 11 specifying memory management, 59 records adding with a text
-i, when to use, 79 -k, when to use, 79 -M, and capping CPU, 58 -s, when to use, 79 -u, and unlocking a configuration file lock, 107 checking configuration file syntax, 51 differences between -i and -k, 80 error messages, 131 errors in the configuration file, 79 including full hierarchies in output with -h, 107 introduction, 12 loading a configuration file, 79 syntax, 106 validating your configuration, 79, 106 PRMID defined, 146 groups, 54 range, 54 reserved, 54 prminitconfig command introduction, 12 syntax
removing with a text editor (shared), 63 memory (private) syntax, 59 Unix group adding with a text editor, 77 modifying with a text editor, 77 specifying, 77 syntax, 77 user adding with a text editor, 73 defined, 147 introduction, 12 modifying with a text editor, 73 netgroups and, 72 removing with a text editor, 74 root, and prmconfig -i, 80 root, created automatically, 71 specifying, 71 syntax, 71 removing application records with a text editor, 68 compartment records with a text editor, 76, 78 group/CPU r
user records adding with a text editor, 73 defined, 147 introduction, 12 modifying with a text editor, 73 netgroups and, 72 removing with a text editor, 74 root, and prmconfig -i, 80 root, created automatically, 71 specifying user records, 71 syntax, 71 user, defined, 147 V validating your configuration, 79 variables in /etc/rc.config.