We are running in to lot of problems lately with vSphere Resource Pools. We have overcommitted memory in our resource pools. let me explain with an example. Assume you have a resource pool with 3 VMs each configured with 8 GB of Memory. We put these 3 VMs in to a resource pool with 12 GB memory limit. Assume all three 3VMs start using all 8 GB of memory. Now ballooning and swapping should occur which is as it should be. So now since the performance is unacceptable I shutdown 2 VMs and now there is only 1 VM which require 8 GB of memory. But since there was memory pressure earlier let assume that this VM swapped 4GB of its memory. So now I should be eligible to use all 8 GB from host physical memory since i have shutdown all other VMs.
So my questions is when is esxi host going to reallocate those 4 GB of swapped memory from the host physical memory ? If it does not allocate those 4 GB from host this VM continue to suffer from memory pressure which is not there. (resource pool limit is 12 GB but VM needs only 8GB)
An explanation is greatly appreciated.
Check out these links
Thanks for the reply. I have gone through almost all VMware documentations and most of the blogs but still couldn't find under what conditions balloon driver gets deflated and swapped memory is put back in to physical memory.
I seems like VMware is very silent on this.