VMWare consumed memory

vmware-esxivmware-vcenter

I have a VMWare ESXi Cluster and I'm trying to get my head around memory consumption on ESXi. My physical server has 48GB of memory. The host is running one VM which has been allocated 12GB RAM with no reservation –

VM resource allocation screenshot

So now as a result of this my ESXi hosts consumed memory is sitting at about 14GB – 12GB for the VM (I assume) + 2GB running processes etc.

ESXi memory consumption

If I was to run out of consumed memory, would the ESXi start running into faults or is it only if I run out of active memory? Technically I would like to overallocate so that if I had to take a node out of the loop for maintenance, I can put 4 VM's that have 12GB allocations – even though those VM's aren't actually consuming all of that memory and only for a short period of time. All VM's are running Linux/CentOS or Ubuntu.

I hope this makes sense!

Best Answer

You can safely overcommit without fear of faults: to an extent

See: https://labs.vmware.com/vmtj/memory-overcommitment-in-the-esx-server

VMware has a number of memory reduction options available and will employ those methods in the event of resource contention.

Memory sharing, compression, ballooning and swap are used to try to keep your virtual machines active.

enter image description here