In researching how to properly nail down resource usage for resource pools in our clusters, I've found that there are some nuances that are not specifically documented regarding "Reservation" vs "Limit" as they relate to Resource Pools. If anyone is a Resource Pool expert please chime in. Specifically I'm looking for validation of what we believe is true.
Here is the case:
So based on my interpretation of the answers and our resource pool design, it sounds like the "Limit" is always an important value that decides the full aggregate amount of VM's memory (reserved memory + swapped memory + shared memory + virtual memory) in a given resource pool of all VMs and does not imply that memory is taken from a parent resource pool.
In our environment we don't allow "Expandable Reservation". Our question was, "Does the limit value matter". We assumed that with the "Expandable Reservation" NOT CHECKED that the limit value did not matter even though it's not greyed out. So if the limit is not greyed out, is it allowing resources to be taken from the parent? I'm understanding that this is not happening. In our case the limit does not mean resources taken from parent but rather seems that this defines the cap of memory from all the VMs in the resource pool can use (reserved memory + paged memory + shared memory + virtual memory).
Example(1): We have a resource pool called "Exchange-RP" with 10GB Reserved, Not Expandable, and a limit of 20GB. If we have 11 VMs each configured with 2GB of ram (The individual VMs have no reservation but the VM is configured for 2GB).
We can power on the first 10 VMs ( 10 x 2GB = 20GB ) but the 11th will not since this would exceed the limit.
In this example how are the 10VMs getting the 2GB each? I'm assuming each is getting 1GB of the physical memory and the other 1GB is made up of virtual memory ( swap, shared, etc, non-physical ram ). At no point is physical memory being drawn from the parent.
Example(2): Given the exact scenario above. If the unlimited box is now checked (limit is greyed = unlimited), this would mean that the 11th VM would now be allowed to be powered on and that whatever physical memory reservation there is just needs to be shared by all VMs in the pool. It seems that once we get too many VMs powered on that there will be too little physical ram per VM and we will start seeing excessive ballooning and then swapping in turn affecting performance.
Please confirm the Examples above is accurate of how memory is managed.
We are looking to validate that the RP limit value always matters as hard limit of all memory used by the VMs, not just physical(reserved memory). None of the VMware documentation speak to this.