What is memory over commitment
Memory Over Commitment is a feature that VMWare products especially its ESX and VSphere line of suites provide. This feature has become so popular and advantageous to VMWare because none of its closest competitors in virtualization infrastucture world provide it (that’s right, Microsoft’s Hyper-V and Citrix Xen Server do not have this feature). Let us examine what Memory Over Commitment is and how is it beneficial to your virtualization infrastructure.
VMware’s hypervisor suite vSphere or ESX server lets you use memory overcommitment, meaning it would let you allot more memory to your virtual machines than what’s physically present on the ESX servers. So lets say the ESX server has a total of 16 Gigabytes of RAM installed on it and it is hosting 2 virtual machines. You can allot 8 Gigabytes to one machine and 9 to another machine. So, in total you have used 17 Gigabytes out of only 16 available amount of RAM in your VMWare server.
The idea behind Memory Overcommitment in Virtualization Infrastructure:
The basic principal behind Memory Overcommitment is that non all Virtual Machines utilize all of their memory capacity all the time. If a VM is allotted 2 Gigabytes of RAM, it might only be using 1.5 GB, the spare RAM from this Virtual Machine can then be used in another virtual Machine.
What happens when all virtual machines are using all the RAM:
If there arises a situation where all the virtual machine reach capacity on their RAM usage, VMware uses intelligent technology to swap out parts of RAM to the disk by doing code paging, sometimes there is performance degradation due to this, however it does prevent the virtual machines from crashing. In essence, it is the same technology as Windows operating systems use the page file to swap out parts of memory from RAM to Disk etc.
Conclusion on using Memory Overcommitment:
It is definitely a plus to have memory overcommitment, however it is not a replacement to not upgrading your hardware to provide adequate RAM to your virtualization infrastructure. Virtualization administrators should always check the performance matrices and logs to see if the virtualization infrastructure is lagging, it should never be used as a replacement for actual RAM.