During my weekly VMware training sessions, Iβm always getting a bit excited when we reach the module where the ESX and virtual machine memory is covered. Iβm trying to explain how important it is; not to use the virtual machine memory limit setting and very often students believe me after checking out their own production environment for ballooning activity and 9 out of 10 times they find a few virtual machine which have a memory limit configured. The memory limit is the upper limit on memory the ESX host makes available to virtual machine. Host memory reclamation happens regardless of the current host free memory state. For example, even if host free memory is in the high state, memory reclamation is still mandatory when a virtual machineβs memory usage exceeds its specified memory limit. If this happens, the ESX server will employ ballooning and, if necessary, swapping to reclaim memory from the virtual machine until the virtual machines host memory usage falls back to its specified limit.
Iβve recorded a video which shows you the Proofpudding and collected some useful links about this topic.
Scott Herold: Memory Behavior when VM Limits are Set
VMware KB: Virtual machine boots very slowly when Memory Limit
Arnim van Lieshout: PowerCLI: Reset CPU and Memory Limits