Solaris Containers: Resource Management and Solaris Zones Developer's Guide

Dynamic Resource Pool Constraints and Objectives

The libpool library defines properties that are available to the various entities that are managed within the pools facility. Each property falls into the following categories:

Configuration constraints

A constraint defines boundaries of a property. Typical constraints are the maximum and minimum allocations specified in the libpool configuration.


An objective changes the resource assignments of the current configuration to generate new candidate configurations that observe the established constraints. (See poold(1M).) An objective has the following categories:

Workload dependent

A workload-dependent objective varies according to the conditions imposed by the workload. An example of the workload dependent objective is the utilization objective.

Workload independent

A workload-independent objective does not vary according to the conditions imposed by the workload. An example of the workload independent objective is the cpu locality objective.

An objective can take an optional prefix to indicate the importance of the objective. The objective is multiplied by this prefix, which is an integer from 0 to INT64_MAX,, to determine the significance of the objective.

System Properties

system.bind-default (writable boolean)

If the specified pool is not found in <filename>/etc/project</filename>, bind to pool with the pool.default property set to TRUE.

system.comment (writable string)

User description of system. system.comment is not used by the default pools commands, except when a configuration is initiated by the poolcfg utility. In this case, the system puts an informative message in the system.comment property for that configuration. (writable string)

User name for the configuration.

system.version (read-only integer)

libpool version required to manipulate this configuration.

Pools Properties

All pool properties are writable. (writable boolean)

If TRUE, mark this pool as active.

pool.comment (writable string)

User description of pool.

pool.default (writable boolean)

If TRUE, mark this pool as the default pool. See the system.bind-default property.

pool.importance (writable integer)

Relative importance of this pool. Used for possible resource dispute resolution. (writable string)

User name for pool. setproject(3PROJECT) uses as the value for the project.pool project attribute in the project(4) database.

pool.scheduler (writable string)

Scheduler class to which consumers of this pool are bound. This property is optional and if not specified, the scheduler bindings for consumers of this pool are not affected. For more information about the characteristics of an individual scheduling class, see priocntl(1). Scheduler classes include:

  • RT for realtime scheduler

  • TS for timesharing scheduler

  • IA for interactive scheduler

  • FSS for fair share scheduler

  • FX for fixed priority scheduler

Processor Set Properties

pset.comment (writable string)

User description of resource.

pset.default (read-only boolean)

Identifies the default processor set.

pset.escapable (writable boolean)

Represents whether PSET_NOESCAPE is set for this pset. See the pset_setattr(2) man page.

pset.load (read-only unsigned integer)

The load for this processor set. The lowest value is 0. The value increases in a linear fashion with the load on the set, as measured by the number of jobs in the system run queue.

pset.max (writable unsigned integer)

Maximum number of CPUs that are permitted in this processor set.

pset.min (writable unsigned integer)

Minimum number of CPUs that are permitted in this processor set. (writable string)

User name for the resource.

pset.size (read-only unsigned integer)

Current number of CPUs in this processor set.

pset.sys_id (read-only integer)

System-assigned processor set ID.

pset.type (read-only string)

Names the resource type. Value for all processor sets is pset.

pset.units (read-only string)

Identifies the meaning of size-related properties. The value for all processor sets is population.

cpu.comment (writable string)

User description of CPU