Recently I increased the amount of RAM on a VM, but I forgot to increase the Limit – MB under the Resource Allocation tab on the pool. So my VM had 6144MBs of RAM but was only allowed 4096MBs. Because of this the VM tools on the VM thought that the ESX Host was running low on physical memory and started the ballooning process. This caused the memory usage on the VM to go through the roof, causing the VM to have major issues.
To fix this issue, I set the Limit – MB to the amount of memory I had assigned to the VM and the VM’s memory usage drastically went down.
So to summarize my findings… If the Limit – MB is set lower than the amount of memory the VM has, it can cause ballooning. Also if the VM is getting close to using the set limit then it could cause ballooning.
For more information on vSphere Memory usage, and Memory Ballooning check out the links below.