Solaris 10 Resource pools

Solaris 10 Resource pools

Post by Rodrick Brow » Mon, 01 Nov 2004 12:13:38



if I wanted to create a zone and limit it to say 64mb of memory and
1/4th of the CPU how could I do it ?

The closest thing I see is

global: pool

         Name of the resource pool that this zone must  be  bound
         to when booted.

But it doesnt go in depth on how to to configure these resource pools,
I tried search docs.sun.com but couldnt really turn up anything usefull
thanks.

--
Unix Systems Engineer
The City of New York
Dept. of Information Technology
http://www.nyc.gov/doitt

http://www.rodrickbrown.com

 
 
 

Solaris 10 Resource pools

Post by Thomas Na » Mon, 01 Nov 2004 17:41:37


Rodrick,

| if I wanted to create a zone and limit it to say 64mb of memory and
| 1/4th of the CPU how could I do it ?
|
| The closest thing I see is
|
| global: pool
|
|          Name of the resource pool that this zone must  be  bound
|          to when booted.
|
| But it doesnt go in depth on how to to configure these resource pools,
| I tried search docs.sun.com but couldnt really turn up anything usefull
| thanks.

I haven't checked build 69 yet but to my knowledge you still cannot
limit physical memory. For dividing CPUs you do have two choices:

1. create and use dynamic resource pools using 'pooladm' and
'poolcfg' and bind them to a zone. This only works on SMPs as a pool
'requires' at least a single CPU. OK, honestly it can be empty
but there are some issues with that so you shouldn't use empty
dynamic pools.  This setup allows you to automatically move CPUs
between pools and therefore zones. As a hint, CPUs are moved one
at a time and depending on the setup it's done roughly with 1 minute
granularity

2. I personally prefer option two. No pools involved. Checkout
the example in zonecfg(1m) and look for 'shares'. Zones can use
the fair share scheduler to split CPU resources on the fly. The
major advantage in my opinion is that it's done in <1s and that
no resources are wasted.  If one zone is idle, the others may take
all CPU power available.

Hope that helps
Thomas

-----------------------------------------------------------------
PGP fingerprint: B1 EE D2 39 2C 82 26 DA  A5 4D E0 50 35 75 9E ED

 
 
 

Solaris 10 Resource pools

Post by Gary Penningto » Sat, 06 Nov 2004 17:52:27



> Rodrick,


> | if I wanted to create a zone and limit it to say 64mb of memory and
> | 1/4th of the CPU how could I do it ?
> |
> | The closest thing I see is
> |
> | global: pool
> |
> |          Name of the resource pool that this zone must  be  bound
> |          to when booted.
> |
> | But it doesnt go in depth on how to to configure these resource pools,
> | I tried search docs.sun.com but couldnt really turn up anything usefull
> | thanks.

> I haven't checked build 69 yet but to my knowledge you still cannot
> limit physical memory. For dividing CPUs you do have two choices:

> 1. create and use dynamic resource pools using 'pooladm' and
> 'poolcfg' and bind them to a zone. This only works on SMPs as a pool
> 'requires' at least a single CPU. OK, honestly it can be empty
> but there are some issues with that so you shouldn't use empty
> dynamic pools.  This setup allows you to automatically move CPUs
> between pools and therefore zones. As a hint, CPUs are moved one
> at a time and depending on the setup it's done roughly with 1 minute
> granularity

> 2. I personally prefer option two. No pools involved. Checkout
> the example in zonecfg(1m) and look for 'shares'. Zones can use
> the fair share scheduler to split CPU resources on the fly. The
> major advantage in my opinion is that it's done in <1s and that
> no resources are wasted.  If one zone is idle, the others may take
> all CPU power available.

> Hope that helps
> Thomas

> -----------------------------------------------------------------
> PGP fingerprint: B1 EE D2 39 2C 82 26 DA  A5 4D E0 50 35 75 9E ED

Hi Rodrick,

You can find out about Resource Pools at docs.sun.com. This link
should be helpful:

http://docs.sun.com/db/doc/817-1592/6mhahuogu?q=resource+pools&a=view

Thomas is correct, you cannot limit physical memory. Thomas is also
correct in describing the two alternatives you are presented with.

I would just extend his description by adding that Resource Partitioning
is only possible with Resource Pools. In other words, you cannot
absolutely limit resource access using the FSS.

Of course, if you only have one CPU or guaranteeing absolute
access to resources is not important to you, then the FSS is the
preferable approach.

Gary
---
Gary Pennington
Solaris Kernel Development,
Sun Microsystems