resource-management - Resource Management subsystem
Oracle Solaris Resource Management functionality enables to control how applications use available system resources. It consists of the resource management kernel subsystem, system libraries, and command line utilities.
The Solaris Resource Management subsystem manages resource pools, processor sets (psets), and CPUs. There are several types of pools and psets. The following paragraph defines terminology used in man pages that are relevant to the Solaris Resource Management subsystem.
Any type of a pool or pset if it is not relevant what exact pool or pset type is referenced. May also be used to reference a specific type if the context makes such reference to its type unambiguous.
It refers to a pool or/and pset created on behalf of a zone on boot. For more information, see dedicated-cpu resource type in zonecfg(8).
It refers to a pool or/and pset created using the prset command or pset system calls.
Solaris zones can be bound to regular pools using the pool property in zonecfg(8).
The psrset(8) utility supports binding individual threads and processes to cpus. See the specific man pages for details and examples.
The following interfaces allow CPUs, cores, sockets, processor groups and/or lgroups to be assigned or bound to using id list strings:
These interfaces allow for ids to be specified using the following format:
This represents a comma separated list of id ranges, for example, the following specifies ids 0 through 7, and 16 through 23.
The most simple id list is a single integer. For example:
The specific property names and supported targets vary by interface.
zonecfg(8) uses these properties on the dedicated-cpu resource:
> add dedicated-cpu dedicated-cpu> cpus=<id list> dedicated-cpu> cores=<id list> dedicated-cpu> sockets=<id list>
poolcfg(8) uses the assign subcommand.
assign to pool mypool ( cpu <id list> ) assign to pool mypool ( core <id list> ) assign to pool mypool ( socket <id list> )
project.mcb.cpus=<id list> project.mcb.cores=<id list> project.mcb.sockets=<id list> project.mcb.pgs=<id list> project.mcb.lgroups=<id list>
The pbind(8) utility supports id list strings for binding currently running:
zones projects tasks users groups process groups processes threads to: cpus processor groups locality groups (lgroups)
The following utilities can be used to identify ids which can be specified in id list strings:
CPU, core, or socket ids are the ids outputted by the psrinfo(8) with the –t option.
Processor group ids are those ids outputted by pginfo command.
Locality group ids are those ids outputted by lgrpinfo. The –c option will list the cpus in each locality group. Note that the lgrpinfo command only lists CPUs in the on-line or no-intr state.
See the specific man pages for details and examples.
Oracle Solaris 11.2 Administration: Resource Management
Historically, resource pools were supposed to be associated with different types of resources with pset to be one of those resources. Resources were supposed to be composed of different types of components, with a CPU to be one of those components. However, the only type of resource Oracle Solaris ever used is a pset, and the only type of a component a pset can be composed of is a CPU. Thus, while relevant libpool(3LIB) API function names contain words "resource" and "component", all man pages related to the Solaris Resource Management subsystem directly refer to psets and CPUs instead of resources and components.
The project.mcb.sockets property will be removed in a future release of Oracle Solaris.