September 13, 2018

VMkernel Memory management techniques




Esxi Hypervisor used five memory-management techniques in order to cater best Memory utilization for VMs while utilizing maximum available physical memory.
 

Transparent page sharing - TPS
let say there are multiple VMs running on the same Esxi Host with same Guest OS and Application.Since Guest OS and Application are common there will be some memory pages that will be identical. instead of duplicate memory pages TPS will use a common memory page ad map it to multiple VMs. This way it can utilize maximum amount of physical memory.





Memory Ballooning
vmmemctl is the Memory ballooning Driver which is bundled with VMTools.  
it's working as the bridge between Guest OS and Physical Host Memory, whenever more memory requested for a VM and No free memory available in the Host it will talk with other VM's and inflate the memory ballooning driver and release that memory for the Esxi Host to use for other VMs. once that memory 
is free it will add back to the Guest VM by deflating the Memory Ballooning Driver.

   

Memory compression
enabled by default on ESXi hosts, reclaim memory by compressing memory pages to avoid memory swapping




    

Host-level SSD swapping
if a SSD Drive available on the Esxi Host, using it for memory SWAP
    

Swapping
this is the last resource - this will impact VM performance heavily. in this technology memory will be save to the DISK as a SWAP file.


No comments:

Post a Comment