Odd one this guys, so I thought I'd hit up the wise folks at TE.
I had 9 VM's
- 4 vCPU's and 32 GB RAM
- all Citrix ones with Windows OS
- 32GB RAM reserved (equal to the configured memory). Dont ask why, this was set by another admin.
- some amount of reserved CPU (dont remember the exact figure, but about 3 Ghz)
Cluster:
- 3 hosts running ESXi 5, 128GB RAM, 2-way 6 core units with hyperthreading enabled.
- HA policy = host failures a cluster tolerates = 1
- Several DRS rules in place as requested by the client and vendor. Moderate setting on DRS aggressiveness.
- No resource pools
- Total of about 25 VM's in cluster
Now there was significant ballooning going on in the cluster with a number of other VM's suffering as a result of these reservations. I got handed the troubleshooting of this. I checked the utilization within the 9 Citrix VM's, none of the guests were using more than 10GB, the CPU utilization also sat at about 25%.
I decided to remove the reservations for both RAM and CPU. Powered down the VM's, removed both RAM and CPU reservations, left the CPU shares at High, and powered up the VM's. Left the configured memory at 32GB.
After the change:
Similar stats within the VM's today (RAM at about 10GB, CPU at 25%). Ballooning still happening for some VM's, not quite as much though. The hosts dont seem to have released the physical memory backing the VM's back into the cluster resource pool. Check below screenshots:
See how the host mem - MB tab is still sitting at almost equal to the configured memory. The Host CPU tab is also sitting at what was previously reserved for the VM's. The second picture is of the resource allocation tab on one of the VM's and the 3rd one's the summary tab of the same VM.
Does anyone know why the previously reserved memory has not been freed up for use by the rest of the cluster?