|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Solaris Virtualization Product Overview 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) 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) Introduction to Resource Pools Introduction to Dynamic Resource Pools About Enabling and Disabling Resource Pools and Dynamic Resource Pools Implementing Pools on a System SPARC: Dynamic Reconfiguration Operations and Resource Pools Directly Manipulating the Dynamic Configuration Managing Dynamic Resource Pools poold Features That Can Be Configured How Dynamic Resource Allocation Works Using poolstat to Monitor the Pools Facility and Resource Utilization Commands Used With the Resource Pools Facility 13. Creating and Administering Resource Pools (Tasks) 14. Resource Management Configuration Example 15. Resource Control Functionality in the Solaris Management Console 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 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) 37. Sun xVM Hypervisor System Requirements 38. Booting and Running the Sun xVM Hypervisor 40. Using virt-install to Install a Domain |
Configuration Constraints and ObjectivesWhen making changes to a configuration, poold acts on directions that you provide. You specify these directions as a series of constraints and objectives. poold uses your specifications to determine the relative value of different configuration possibilities in relation to the existing configuration. poold then changes the resource assignments of the current configuration to generate new candidate configurations. Configuration ConstraintsConstraints affect the range of possible configurations by eliminating some of the potential changes that could be made to a configuration. The following constraints, which are specified in the libpool configuration, are available.
See the libpool(3LIB) man page and Pools Properties for more information about pools properties. See How to Set Configuration Constraints for usage instructions. pset.min Property and pset.max Property ConstraintsThese two properties place limits on the number of processors that can be allocated to a processor set, both minimum and maximum. See Table 12-1 for more details about these properties. Within these constraints, a resource partition's resources are available to be allocated to other resource partitions in the same Solaris instance. Access to the resource is obtained by binding to a pool that is associated with the resource set. Binding is performed at login or manually by an administrator who has the PRIV_SYS_RES_CONFIG privilege. cpu.pinned Property ConstraintThe cpu-pinned property indicates that a particular CPU should not be moved by DRP from the processor set in which it is located. You can set this libpool property to maximize cache utilization for a particular application that is executing within a processor set. See Table 12-1 for more details about this property. pool.importance Property ConstraintThe pool.importance property describes the relative importance of a pool as defined by the administrator. Configuration ObjectivesObjectives are specified similarly to constraints. The full set of objectives is documented in Table 12-1. There are two categories of objectives.
You can define three types of objectives.
Objectives are stored in property strings in the libpool configuration. The property names are as follows:
Objectives have the following syntax:
All objectives take an optional importance prefix. The importance acts as a multiplier for the objective and thus increases the significance of its contribution to the objective function evaluation. The range is from 0 to INT64_MAX (9223372036854775807). If not specified, the default importance value is 1. Some element types support more than one type of objective. An example is pset. You can specify multiple objective types for these elements. You can also specify multiple utilization objectives on a single pset element. See How to Define Configuration Objectives for usage examples. wt-load ObjectiveThe wt-load objective favors configurations that match resource allocations to resource utilizations. A resource set that uses more resources will be given more resources when this objective is active. wt-load means weighted load. Use this objective when you are satisfied with the constraints you have established using the minimum and maximum properties, and you would like the daemon to manipulate resources freely within those constraints. The locality ObjectiveThe locality objective influences the impact that locality, as measured by locality group (lgroup) data, has upon the selected configuration. An alternate definition for locality is latency. An lgroup describes CPU and memory resources. The lgroup is used by the Solaris system to determine the distance between resources, using time as the measurement. For more information on the locality group abstraction, see Locality Groups Overview in Programming Interfaces Guide. This objective can take one of the following three values:
In general, the locality objective should be set to tight. However, to maximize memory bandwidth or to minimize the impact of DR operations on a resource set, you could set this objective to loose or keep it at the default setting of none. utilization ObjectiveThe utilization objective favors configurations that allocate resources to partitions that are not meeting the specified utilization objective. This objective is specified by using operators and values. The operators are as follows:
A pset can only have one utilization objective set for each type of operator.
You can set both a < and a > operator together to create a range. The values will be validated to make sure that they do not overlap. Configuration Objectives ExampleIn the following example, poold is to assess these objectives for the pset:
pset.poold.objectives "utilization > 30; utilization < 80; locality tight" See How to Define Configuration Objectives for additional usage examples. poold PropertiesThere are four categories of properties:
Table 12-1 Defined Property Names
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|