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.