JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Resource Management, Oracle Solaris Zones, and Oracle Solaris 10 Zones Developer's Guide     Oracle Solaris 11.1 Information Library
search filter icon
search icon

Document Information

Preface

1.  Resource Management in the Oracle Solaris Operating System

2.  Projects and Tasks

3.  Using the C Interface to Extended Accounting

4.  Using the Perl Interface to Extended Accounting

5.  Resource Controls

6.  Resource Pools

Overview of Resource Pools

Scheduling Class

Dynamic Resource Pool Constraints and Objectives

System Properties

Pools Properties

Processor Set Properties

Using libpool to Manipulate Pool Configurations

Manipulate psets

Resource Pools API Functions

Functions for Operating on Resource Pools and Associated Elements

Functions for Querying Resource Pools and Associated Elements

Resource Pool Code Examples

Ascertain the Number of CPUs in the Resource Pool

List All Resource Pools

Report Pool Statistics for a Given Pool

Set pool.comment Property and Add New Property

Programming Issues Associated With Resource Pools

zonestat Utility for Monitoring Resource Pools in Oracle Solaris Zones

7.  Design Considerations for Resource Management Applications in Oracle Solaris Zones

8.  Configuration Examples

Index

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.

Objective

An objective changes the resource assignments of the current configuration to generate new candidate configurations that observe the established constraints. 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.

For usage examples, see How to Set Configuration Constraints in Oracle Solaris 11.1 Administration: Oracle Solaris Zones, Oracle Solaris 10 Zones, and Resource Management and How to Define Configuration Objectives in Oracle Solaris 11.1 Administration: Oracle Solaris Zones, Oracle Solaris 10 Zones, and Resource Management.

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.

system.name (writable string)

User name for the configuration.

system.version (read-only integer)

libpool version required to manipulate this configuration.

Pools Properties

All pools properties except pool.default and pool.sys_id are writable.

pool.active (writable boolean)

If TRUE, mark this pool as active.

pool.comment (writable string)

User description of pool.

pool.default (read-only 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.

pool.name (writable string)

User name for pool. setproject(3PROJECT) uses pool.name 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

pool.sys_id (read-only integer)

This is the system-assigned pool ID.

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.

pset.name (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