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) 
Administering Resource Controls (Task Map) 
Setting Resource Controls 
How to Set the Maximum Number of LWPs for Each Task in a Project 
How to Set Multiple Controls on a Project 
Using rctladm 
Using ipcs 
Capacity Warnings 
How to Determine Whether a Web Server Is Allocated Enough CPU Capacity 
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) 
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 
 | 
      
	       	 
             
Using the prctl Command
Use the prctl command to make runtime interrogations of and modifications to the
resource controls associated with an active process, task, or project on the system.
See the prctl(1) man page for more information. 
How to Use the prctl Command to Display Default Resource Control ValuesThis procedure must be used on a system on which no resource
controls have been set or changed. There can be only non-default entries in
the /etc/system file or in the project  database. 
- Use the prctl command on any process, such as the current shell that
is running.
# prctl $$
process: 100337: -sh
NAME    PRIVILEGE       VALUE    FLAG   ACTION                   RECIPIENT
process.max-port-events
        privileged      65.5K       -   deny                             -
        system          2.15G     max   deny                             -
process.crypto-buffer-limit
        system          16.0EB    max   deny                             -
process.max-crypto-sessions
        system          18.4E     max   deny                             -
process.add-crypto-sessions
        privileged        100       -   deny                             -
        system          18.4E     max   deny                             -
process.min-crypto-sessions
        privileged         20       -   deny                             -
        system          18.4E     max   deny                             -
process.max-msg-messages
        privileged      8.19K       -   deny                             -
        system          4.29G     max   deny                             -
process.max-msg-qbytes
        privileged      64.0KB      -   deny                             -
        system          16.0EB    max   deny                             -
process.max-sem-ops
        privileged        512       -   deny                             -
        system          2.15G     max   deny                             -
process.max-sem-nsems
        privileged        512       -   deny                             -
        system          32.8K     max   deny                             -
process.max-address-space
        privileged      16.0EB    max   deny                             -
        system          16.0EB    max   deny                             -
process.max-file-descriptor
        basic             256       -   deny                        100337
        privileged      65.5K       -   deny                             -
        system          2.15G     max   deny                             -
process.max-core-size
        privileged      8.00EB    max   deny                             -
        system          8.00EB    max   deny                             -
process.max-stack-size
        basic           8.00MB      -   deny                        100337
        privileged      8.00EB      -   deny                             -
        system          8.00EB    max   deny                             -
process.max-data-size
        privileged      16.0EB    max   deny                             -
        system          16.0EB    max   deny                             -
process.max-file-size
        privileged      8.00EB    max   deny,signal=XFSZ                 -
        system          8.00EB    max   deny                             -
process.max-cpu-time
        privileged      18.4Es    inf   signal=XCPU                      -
        system          18.4Es    inf   none                             -
task.max-cpu-time
        system          18.4Es    inf   none                             -
task.max-lwps
        system          2.15G     max   deny                             -
project.max-contracts
        privileged      10.0K       -   deny                             -
        system          2.15G     max   deny                             -
project.max-device-locked-memory
        privileged       499MB      -   deny                             -
        system          16.0EB    max   deny                             -
project.max-port-ids
        privileged      8.19K       -   deny                             -
        system          65.5K     max   deny                             -
project.max-shm-memory
        privileged      1.95GB      -   deny                             -
        system          16.0EB    max   deny                             -
project.max-shm-ids
        privileged        128       -   deny                             -
        system          16.8M     max   deny                             -
project.max-msg-ids
        privileged        128       -   deny                             -
        system          16.8M     max   deny                             -
project.max-sem-ids
        privileged        128       -   deny                             -
        system          16.8M     max   deny                             -
project.max-tasks
        system          2.15G     max   deny                             -
project.max-lwps
        system          2.15G     max   deny                             -
project.cpu-shares
        privileged          1       -   none                             -
        system          65.5K     max   none                             -
zone.max-lwps
        system          2.15G     max   deny                             -
zone.cpu-shares
        privileged          1       -   none                             -
        system          65.5K     max   none                             -  
How to Use the prctl Command to Display Information for a Given Resource Control
How to Use prctl to Temporarily Change a ValueThis example procedure uses the prctl command to temporarily add a new privileged
value to deny the use of more than three LWPs per project
for the x-files project. The result is comparable to the result in How to Set the Maximum Number of LWPs for Each Task in a Project. 
- Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.  
- Use newtask to join the x-files project.
# newtask -p x-files  
- Use the id command with the -p option to verify that the
correct project has been joined.
# id -p
uid=0(root) gid=1(other) projid=101(x-files)  
- Add a new privileged value for project.max-lwps that  limits the number
of LWPs to three.
# prctl -n project.max-lwps -t privileged -v 3 -e deny -i project x-files  
- Verify the result.
# prctl -n project.max-lwps -i project x-files
process: 111108: csh
NAME    PRIVILEGE    VALUE    FLAG   ACTION            RECIPIENT
project.max-lwps
        privileged       3       -   deny                      -
        system       2.15G     max   deny                      -  
How to Use prctl to Lower a Resource Control Value
- Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.  
- Use the prctl command with the -r option to change the lowest value
of the process.max-file-descriptor resource control.
# prctl -n process.max-file-descriptor -r -v 128 $$   
How to Use prctl to Display, Replace, and Verify the Value of a Control on a Project
- Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.  
- Display the value of project.cpu-shares in the project group.staff.
# prctl -n project.cpu-shares -i project group.staff
project: 2: group.staff
NAME    PRIVILEGE       VALUE    FLAG   ACTION     RECIPIENT
project.cpu-shares
        privileged          1       -   none               -
        system          65.5K     max   none  
- Replace the current project.cpu-shares value 1 with the value 10.
# prctl -n project.cpu-shares -v 10 -r -i project group.staff  
- Display the value of project.cpu-shares in the project group.staff.
# prctl -n project.cpu-shares -i project group.staff
project: 2: group.staff
NAME    PRIVILEGE       VALUE    FLAG   ACTION     RECIPIENT
project.cpu-shares
        privileged         10       -   none               -
        system          65.5K     max   none   
          
       |