VMware Cloud Community
oleboleole
Contributor
Contributor

Memory Limit equal to Inital Memory on VM, any affection on Ballooning?

One of our customers has some serious ballooning issues on their host. When I looked over the host i found several VM's with memorylimits equal to initial memory settings.

Example VM001

Initial Memory : 512

Memory Limit : 512

Does this affect ballooning in any way? Common sense would say no as the VM's will never reach over their limitis. Anyway I will recommed the customer removing these limits as they serve no function. The customer also has a few VM's where the memory limits is set lower than inital memory and of course this will cause balloning, so we know how to take care of that. I will recommend the customer to remove the limits and lower the memory settings on the hardwaretab of the VM.

My curiousity goes to the scenario like first explained. What happens if memory limit is equal to initial memory and your VM maxes out the use of its memory 512. Will any memory saving techniques kick in in a different way than if you had no memory limit at all?

Example VM002

Initial Memory : 512

Memory Limit : 512

0 Kudos
2 Replies
ab_lal
Enthusiast
Enthusiast

Memory limit would limit the max use of host memory. The VM (VM1) will not be able to use more than 512 MB.

I guess you have not kept any reservation on memory so if other VM's on the host needs memory and the ESX host is exhaused then balooning can be performed on the above VM1 to extract its unused memory.

We would Ideally not set memory limit or memory reservation (Unless required for higher applications) and put a check mark at unlimited.

Anand Mewalal

0 Kudos
FredPeterson
Expert
Expert

Like Anand said, the memory limit limits the maximum physical memory available the VM can use.

If the initial is set to 512MB and you set the limit to 384MB, then the remaining 128MB would come from the VM's pagefile. At most the VM can only have 384MB of physical memory.

Removing the limit, setting it to unlimited, is the same thing as having the limit set to the size of the memory assigned.

Ballooning is the host forcing out of its physical memory the unused physical memory that a guest might have allocated but active memory says theres a gap. Memory reservations prevent this from happening.

So if you have a 512MB guest with a reservation of 256MB and the "host memory usage" is 384MB but the host needs 128MB of memory, it will ballooning out the 128MB from the guest and make the guest use 128MB from its own page file.

0 Kudos