Although the next release of Solaris 10 (mid-year 2007) will have the wonderful new features that Jerry mentions, until then, here is an example of commands to use. They create two pools and associate one zone with each pool.

lloy0076 wrote:



On a system that has zones enabled, a non-global zone can be associated with one resource pool, although the pool need not be exclusively assigned to a particular zone. Moreover, you cannot bind individual processes in non-global zones to a different pool by using the poolbind command from the global zone. To associate a non-global zone with a pool, see Configuring, Verifying, and Committing a Zone.


Ths implies that if you know how to limit/configure a resource pool, you've probably answered the question you're asking.

If I understand it, you'd:

* configure a resource pool
> * set what limits (or lack of limits) you want it

global# svcadm enable pools pools/dynamic
global# pooladm -s

Create a file "poolfile" which specifies the two processor sets and pools,
and tells Solaris to try to keep both pools <80%, but give priority to apppset. More specifically, if CPU utilization of apppset is >80%, try to bring it under 80% by shifting a CPU from webpset to apppset, within the limits of minimum and maximum CPUs specified. It also tells Solaris that if the webpset CPU utilization is >80%, *and* apppset CPU utilization is <80%, it should shift a CPU from apppset to webpset, again within the CPU limits specified.

create pool webpool
create pool apppool
create pset webpset (uint pset.min=1; uint pset.max=2)
create pset appset (uint pset.min=2; uint pset.max=3)
associate pool webpool (pset webset)
associate pool apppool (pset appset)

modify pset webpset (string pset.pool.objectives="utilization<80")
modify pool webpool (int pset.pool.importance=1)
modify pset apppset (string pset.pool.objectives="utilization<80")
modify pool apppool (int pset.pool.importance=2)

modify system default (string system.pool.objectives="wt=load")

Use that file:
global# poolcfg -f poolfile

Verify the config:
global# poolcfg -c info

Save the now-active config for next boot:
global# pooladm -c

* associate it with a zone [or project or task etc]

global# zonecfg -z webzone
set zone.pool=webpool

global# zonecfg -z appzone
set zone.pool=apppool

Now...  wasn't Jerry's 'duckhorn' method easier?  ;-)

Jeff VICTOR              Sun Microsystems            jeff.victor @
OS Ambassador            Sr. Technical Specialist
Solaris 10 Zones FAQ:
zones-discuss mailing list

Reply via email to