| Document Information Preface Solaris Virtualization Product Overview Part I Resource Management 1.  Introduction to Solaris Resource Management 2.  Projects and Tasks (Overview) 3.  Administering Projects and Tasks 4.  Extended Accounting (Overview) 5.  Administering Extended Accounting (Tasks) 6.  Resource Controls (Overview) 7.  Administering Resource Controls (Tasks) 8.  Fair Share Scheduler (Overview) 9.  Administering the Fair Share Scheduler (Tasks) 10.  Physical Memory Control Using the Resource Capping Daemon (Overview) 11.  Administering the Resource Capping Daemon (Tasks) 12.  Resource Pools (Overview) 13.  Creating and Administering Resource Pools (Tasks) Administering Resource Pools (Task Map) Enabling and Disabling the Pools Facility How to Enable the Resource Pools Service Using svcadm How to Disable the Resource Pools Service Using svcadm How to Enable the Dynamic Resource Pools Service Using svcadm How to Disable the Dynamic Resource Pools Service Using svcadm How to Enable Resource Pools Using pooladm How to Disable Resource Pools Using pooladm Transferring Resources How to Move CPUs Between Processor Sets Activating and Removing Pool Configurations How to Activate a Pools Configuration How to Validate a Configuration Before Committing the Configuration How to Remove a Pools Configuration Setting Pool Attributes and Binding to a Pool How to Bind Processes to a Pool How to Bind Tasks or Projects to a Pool How to Set the project.pool Attribute for a Project How to Use project Attributes to Bind a Process to a Different Pool Using poolstat to Report Statistics for Pool-Related Resources 14.  Resource Management Configuration Example 15.  Resource Control Functionality in the Solaris Management Console Part II Zones 16.  Introduction to Solaris Zones 17.  Non-Global Zone Configuration (Overview) 18.  Planning and Configuring Non-Global Zones (Tasks) 19.  About Installing, Halting, Cloning, and Uninstalling Non-Global Zones (Overview) 20.  Installing, Booting, Halting, Uninstalling,  and Cloning Non-Global Zones (Tasks) 21.  Non-Global Zone Login (Overview) 22.  Logging In to Non-Global Zones (Tasks) 23.  Moving and Migrating Non-Global Zones (Tasks) 24.  About Packages and Patches on a Solaris System With Zones Installed (Overview) 25.  Adding and Removing Packages and Patches on a Solaris System With Zones Installed (Tasks) 26.  Solaris Zones Administration (Overview) 27.  Administering Solaris Zones (Tasks) 28.  Troubleshooting Miscellaneous Solaris Zones Problems Part III Branded Zones 29.  About Branded Zones and the Linux Branded Zone 30.  Planning the lx Branded Zone Configuration (Overview) 31.  Configuring the lx Branded Zone (Tasks) 32.  About Installing, Booting, Halting, Cloning, and Uninstalling lx Branded Zones (Overview) 33.  Installing, Booting, Halting, Uninstalling and Cloning lx Branded Zones (Tasks) 34.  Logging In to lx Branded Zones (Tasks) 35.  Moving and Migrating lx Branded Zones (Tasks) 36.  Administering and Running Applications in lx Branded Zones (Tasks) Part IV Sun xVM 37.  Sun xVM Hypervisor System Requirements 38.  Booting and Running the Sun xVM Hypervisor 39.  Xvnc 40.  Using virt-install to Install a Domain 41.  xVM System Administration 42.  Troubleshooting Miscellaneous Sun xVM Problems Glossary Index |       	 
             
Configuring PoolsHow to Create a Static ConfigurationUse the -s option to /usr/sbin/pooladm to create a static configuration file that
matches the current dynamic configuration. Unless a different file name is specified, the
default location /etc/pooladm.conf is used. Commit your configuration using the pooladm command with the -c option. Then, use
the pooladm command with the -s option to update the static configuration to
match the state of the dynamic configuration. 
 Note - The new functionality pooladm -s is preferred over the previous functionality poolcfg -c
discover for creating a new configuration that matches the dynamic configuration. 
 Before You BeginEnable pools on your system. 
Become superuser, or assume a role that includes the Process Management profile.The System Administrator role includes the Process Management profile. For more information about
roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.Update the static configuration file to match the current dynamic configuration.# pooladm -sView the contents of the configuration file in readable form.Note that the configuration contains default elements created by the system. # poolcfg -c info
system tester
        string  system.comment
        int     system.version 1
        boolean system.bind-default true
        int     system.poold.pid 177916
        pool pool_default
                int     pool.sys_id 0
                boolean pool.active true
                boolean pool.default true
                int     pool.importance 1
                string  pool.comment 
                pset    pset_default
        pset pset_default
                int     pset.sys_id -1
                boolean pset.default true
                uint    pset.min 1
                uint    pset.max 65536
                string  pset.units population
                uint    pset.load 10
                uint    pset.size 4
                string  pset.comment 
                boolean testnullchanged true
                cpu
                        int     cpu.sys_id 3
                        string  cpu.comment 
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 2
                        string  cpu.comment 
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 1
                        string  cpu.comment 
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 0
                        string  cpu.comment 
                        string  cpu.status on-lineCommit the configuration at /etc/pooladm.conf.# pooladm -c(Optional) To copy the dynamic configuration to a static configuration file called /tmp/backup,
type the following:# pooladm -s /tmp/backup How to Modify a ConfigurationTo enhance your configuration, create a processor set named pset_batch and a
pool named pool_batch. Then join the pool and the processor set with an
association. Note that you must quote subcommand arguments that contain white space. 
Become superuser, or assume a role that includes the Process Management profile.The System Administrator role includes the Process Management profile. For more information about
roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.Create processor set pset_batch.# poolcfg -c 'create pset pset_batch (uint pset.min = 2; uint pset.max = 10)'Create pool pool_batch.# poolcfg -c 'create pool pool_batch'Join the pool and the processor set with an association.# poolcfg -c 'associate pool pool_batch (pset pset_batch)'Display the edited configuration.# poolcfg -c info
system tester
        string  system.comment kernel state
        int     system.version 1
        boolean system.bind-default true
        int     system.poold.pid 177916
        pool pool_default
                int     pool.sys_id 0
                boolean pool.active true
                boolean pool.default true
                int     pool.importance 1
                string  pool.comment 
                pset    pset_default
        pset pset_default
                int     pset.sys_id -1
                boolean pset.default true
                uint    pset.min 1
                uint    pset.max 65536
                string  pset.units population
                uint    pset.load 10
                uint    pset.size 4
                string  pset.comment 
                boolean testnullchanged true
                cpu
                        int     cpu.sys_id 3
                        string  cpu.comment 
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 2
                        string  cpu.comment 
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 1
                        string  cpu.comment 
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 0
                        string  cpu.comment 
                        string  cpu.status on-line
        pool pool_batch
                boolean pool.default false
                boolean pool.active true
                int pool.importance 1
                string pool.comment
                pset pset_batch
        pset pset_batch
                int pset.sys_id -2
                string pset.units population
                boolean pset.default true
                uint pset.max 10
                uint pset.min 2
                string pset.comment
                boolean pset.escapable false
                uint pset.load 0
                uint pset.size 0
                cpu
                        int     cpu.sys_id 5
                        string  cpu.comment
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 4
                        string  cpu.comment
                        string  cpu.status on-lineCommit the configuration at /etc/pooladm.conf.# pooladm -c(Optional) To copy the dynamic configuration to a static configuration file named /tmp/backup,
type the following:# pooladm -s /tmp/backup How to Associate a Pool With a Scheduling ClassYou can associate a pool with a scheduling class so that all
processes bound to the pool use this scheduler. To do this, set the
pool.scheduler property to the name of the scheduler. This example associates the pool
pool_batch with the fair share scheduler (FSS). 
Become superuser, or assume a role that includes the Process Management profile.The System Administrator role includes the Process Management profile. For more information about
roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.Modify pool pool_batch to be associated with the FSS.# poolcfg -c 'modify pool pool_batch (string pool.scheduler="FSS")'Display the edited configuration.# poolcfg -c info
system tester
        string  system.comment
        int     system.version 1
        boolean system.bind-default true
        int     system.poold.pid 177916
        pool pool_default
                int     pool.sys_id 0
                boolean pool.active true
                boolean pool.default true
                int     pool.importance 1
                string  pool.comment 
                pset    pset_default
        pset pset_default
                int     pset.sys_id -1
                boolean pset.default true
                uint    pset.min 1
                uint    pset.max 65536
                string  pset.units population
                uint    pset.load 10
                uint    pset.size 4
                string  pset.comment 
                boolean testnullchanged true
                cpu
                        int     cpu.sys_id 3
                        string  cpu.comment 
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 2
                        string  cpu.comment 
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 1
                        string  cpu.comment 
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 0
                        string  cpu.comment 
                        string  cpu.status on-line
        pool pool_batch
                boolean pool.default false
                boolean pool.active true
                int pool.importance 1
                string pool.comment
                string pool.scheduler FSS
                pset batch
        pset pset_batch
                int pset.sys_id -2
                string pset.units population
                boolean pset.default true
                uint pset.max 10
                uint pset.min 2
                string pset.comment
                boolean pset.escapable false
                uint pset.load 0
                uint pset.size 0
                cpu
                        int     cpu.sys_id 5
                        string  cpu.comment
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 4
                        string  cpu.comment
                        string  cpu.status on-lineCommit the configuration at /etc/pooladm.conf:# pooladm -c(Optional) To copy the dynamic configuration to a static configuration file called /tmp/backup,
type the following:# pooladm -s /tmp/backup How to Set Configuration ConstraintsConstraints affect the range of possible configurations by eliminating some of the potential
changes that could be made to a configuration. This procedure shows how to
set the cpu.pinned property. In the following examples, cpuid is an integer. 
Become superuser, or assume a role that includes the Process Management profile.The System Administrator role includes the Process Management profile. For more information about
roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.Modify the cpu.pinned property in the static or dynamic configuration: How to Define Configuration ObjectivesYou can specify objectives for poold to consider when taking corrective action. In the following procedure, the wt-load objective is being set so that poold
tries to match resource allocation to resource utilization. The locality objective is disabled to
assist in achieving this configuration goal. 
Become superuser, or assume a role that includes the Process Management profile.The System Administrator role includes the Process Management profile. For more information about
roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.Modify system tester to favor the wt-load objective.# poolcfg -c 'modify system tester (string system.poold.objectives="wt-load")'Disable the locality objective for the default processor set.# poolcfg -c 'modify pset pset_default (string pset.poold.objectives="locality none")'one lineDisable the locality objective for the pset_batch processor set.# poolcfg -c 'modify pset pset_batch (string pset.poold.objectives="locality none")'one lineDisplay the edited configuration.# poolcfg -c info
system tester
        string  system.comment
        int     system.version 1
        boolean system.bind-default true
        int     system.poold.pid 177916
        string  system.poold.objectives wt-load
        pool pool_default
                int     pool.sys_id 0
                boolean pool.active true
                boolean pool.default true
                int     pool.importance 1
                string  pool.comment 
                pset    pset_default
        pset pset_default
                int     pset.sys_id -1
                boolean pset.default true
                uint    pset.min 1
                uint    pset.max 65536
                string  pset.units population
                uint    pset.load 10
                uint    pset.size 4
                string  pset.comment 
                boolean testnullchanged true
                string  pset.poold.objectives locality none
                cpu
                        int     cpu.sys_id 3
                        string  cpu.comment 
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 2
                        string  cpu.comment 
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 1
                        string  cpu.comment 
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 0
                        string  cpu.comment 
                        string  cpu.status on-line
        pool pool_batch
                boolean pool.default false
                boolean pool.active true
                int pool.importance 1
                string pool.comment
                string pool.scheduler FSS
                pset batch
        pset pset_batch
                int pset.sys_id -2
                string pset.units population
                boolean pset.default true
                uint pset.max 10
                uint pset.min 2
                string pset.comment
                boolean pset.escapable false
                uint pset.load 0
                uint pset.size 0
                string  pset.poold.objectives locality none
                cpu
                        int     cpu.sys_id 5
                        string  cpu.comment
                        string  cpu.status on-line
                cpu
                        int     cpu.sys_id 4
                        string  cpu.comment
                        string  cpu.status on-lineCommit the configuration at /etc/pooladm.conf.# pooladm -c(Optional) To copy the dynamic configuration to a static configuration file called /tmp/backup,
type the following:# pooladm -s /tmp/backup How to Set the poold Logging LevelTo specify the level of logging information that poold generates, set the system.poold.log-level
property in the poold configuration. The poold configuration is held in the libpool
configuration. For information, see poold Logging Information and the poolcfg(1M) and libpool(3LIB) man pages. You can also use the poold command at the command line to specify
the level of logging information that poold generates. 
Become superuser, or assume a role that includes the Process Management profile.The System Administrator role includes the Process Management profile. For more information about
roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.Set the logging level by using the poold command with the -l
option and a parameter, for example, INFO.# /usr/lib/pool/poold -l INFO For information about available parameters, see poold Logging Information. The default logging level is NOTICE. How to Use Command Files With poolcfgThe poolcfg command with the -f option can take input from a text
file that contains poolcfg subcommand arguments to the -c option. This method is
appropriate when you want a set of operations to be performed. When processing
multiple commands, the configuration is only updated if all of the commands succeed.
For large or complex configurations, this technique can be more useful than per-subcommand invocations. Note that in command files,  the # character acts as a comment
mark for the rest of the line. 
Create the input file poolcmds.txt.$ cat > poolcmds.txt
create system tester create pset pset_batch (uint pset.min = 2; uint pset.max = 10) create pool pool_batch associate pool pool_batch (pset pset_batch)Become superuser, or assume a role that includes the Process Management profile.The System Administrator role includes the Process Management profile. For more information about
roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.Execute the command:# /usr/sbin/poolcfg -f poolcmds.txt |