Go to main content

man pages section 7: Standards, Environments, Macros, Character Sets, and Miscellany

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

resource-management (7)

Name

resource-management - Resource Management subsystem

Description

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.

RESOURCE POOLS AND PSETS

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.

pool, pset

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.

regular pool

It refers to a pool created using poolcfg(8) or libpool(3LIB).

pool pset

It refers to a pset created via poolcfg(8) or libpool(3LIB).

dedicated-cpu pool/dedicated-cpu pset

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).

psrset pool/psrset pset

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).

Solaris projects can be bound to regular pools using the project.pool property described in project(5) or setproject(3PROJECT).

The psrset(8) utility supports binding individual threads and processes to cpus. See the specific man pages for details and examples.

CPU ASSIGNMENTS AND BINDING USING ID LIST STRINGS

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.

0-7,16-23

The most simple id list is a single integer. For example:

1

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> )

The project(5) and setproject(3PROJECT) use these project attributes:

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.

See Also

pooladm(8), poolcfg(8), psrset(8), zonecfg(8)

Administering Resource Management in Oracle Solaris 11.4

Notes

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.