Jason Bradfield wrote:
Sorry if this comes through as a duplicate response but I responded from a different email account earlier...
Thanks Bob and Jeff...

Therefore here is my confusion..

 From Bob
* swap: the amount of disk space set aside to copy physical memory to when copying it out of RAM

 From Jeff
set swap=      this is VM - the total address space available to the zone

Ok.. to solve my immediate problem 16GB Physical and 16GB disk = total of 32GB Virtual If I were to create 3 zones and wanted to evenly allocate memory to all 3 and the global zone, would this config be ok

zonecfg:host30> add capped-memory
zonecfg:host30:capped-memory> set physical=4G
zonecfg:host30:capped-memory> set swap=8G
zonecfg:host30:capped-memory> end

Memory capping isn't really intended to solve the 'problem' of allocating memory, because usually there isn't a problem. Memory capping is intended to prevent memory hogs (accidental or otherwise) from impacting proper operation of other workloads. This allows you to choose large caps, improving resource usage efficiency.

With some v12n solutions, allocating memory is required. This has the potential of wasting memory - if one virtual server is not using all of its memory, another cannot.

With zones, memory allocation (and its wastefulness) is not necessary. Further, choosing a physical memory cap that is too low will result in unnecessary paging activity, which will significantly reduce performance on that one zone, and also affect performance of other zones, to some extent.

However, if you want to ensure that one zone does not use too much and impact other zones, measure (or estimate) its normal memory usage, and choose a value larger than that. After the zone is running, "prstat -Z" can be used to measure memory usage, both physical and swap.

With all of that in mind, in your situation I would choose much larger numbers than the ones shown above. But without understanding the normal resource consumption of your workloads, I can't guess at good values.

Finally, it usually helps to know that those caps can be changed while the zone is running, using rcapadm from the global zone.


Bob Bownes wrote:

>> Can anyone, in lamens (ex linux) terms explain the differences between
>> virtual/swap/rss/size/physical etc or recomend a good
>> blog/article/document.
>I don't know Linux terms, so I'll define terms for this conversation:
>* physical memory: RAM, memory chips
>* VM (virtual memory): the total memory space available, both in RAM and
>   on disk

I'll add:

* swap: the amount of disk space set aside to copy physical memory to when copying it out of RAM * rss: Resident Set Size - the part of a process address space which is currently resident in RAM
* size: The total address space used by a process
* physical - various definitions, most common one i've seen is the total amount of RAM in the system. Also refered to as 'real' in some places

And a link I found that might be of some use:


>The terms in zonecfg are:
>* set physical=  this is what I am calling "physical memory"
>* set swap= this is VM - the total address space available to the zone
>So if you want to limit the zone's processes to 384MB of VM and 128MB of RAM, use:
>add capped-memory
>set physical=128m
>set swap=384m

>If you already have added these, you must use "select capped-memory" instead
>of "add capped-memory".
>Does that help?

Jeff VICTOR              Sun Microsystems            jeff.victor @ sun.com
OS Ambassador            Sr. Technical Specialist
Solaris 10 Zones FAQ:    http://www.opensolaris.org/os/community/zones/faq
zones-discuss mailing list

Reply via email to