Friday, March 26, 2010

Why should we call VMware will "Optimally utilize the Infrastrusture Resources" - Series1 - Keep your tab on this for my next Series


1) Memory Baloon Driver - Vmmemctl:
(My Understanding in other words - below)
Freeing up the non frequently used / less significant Memory Pages by inflating Vmmemctl Baloon Intentionally creating shortage of memory in specific VM, so that those non frequent Memory Pages Are pushed to Swap file and freed up Memory is under Common Pool (by Vmkernel control - can be shared to other VM's). Once Vmkernel is having enough Memory space and no application is Memory crunch, automatically Vmmemctl Baloon is Deflated, Specific VM has got back it's respective memory.. Very cool feature, 65% of specific VM memory can be freed up by Vmware by default by inflating this Vmmemctl Baloon Technique, However Admin can configure 0%-75% Vmmemctl baloon

Memory Balloon (vmmemctl) Driver
(Extract of VMware Online Library - below)

The
vmmemctl driver collaborates with the server to reclaim pages that are considered least valuable by the guest operating system. The driver uses a proprietary ballooning technique that provides predictable performance which closely matches the behavior of a native system under similar memory constraints. This technique effectively increases or decreases memory pressure on the guest operating system, causing the guest to invoke its own native memory management algorithms. When memory is tight, the guest operating system decides which particular pages to reclaim and, if necessary, swaps them to its own virtual disk.
Figure 9-3. Memory Ballooning

If necessary, you can limit the amount of memory vmmemctl reclaims by setting the sched.mem.maxmemctl parameter for a specific virtual machine. This option specifies the maximum amount of memory that can be reclaimed from a virtual machine in megabytes (MB). See Setting Advanced Virtual Machine Attributes.

2)Transparent Memory Page Sharing

Transparent page sharing is a cool feature of ESX Server that allows VMs to share memory pages that have identical content. If a VM needs to modify the shared data, then the VMkernel creates a new copy for the VM that it can modify. The Operating Systems are not aware that they are sharing memory with other VMs (hence, the name - Transparent page sharing implies)

My Understanding : VM kernel will keep monitoring all VM's Memory Pages and eliminates to occupy the space for redundant copies among various Memory Pages - Instead maintain one copy of common Memory Page ( rest of VM's will have pointer towards this)

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.