UberGeek1
Contributor
Contributor

Balloon Driver Active without Host Contention

Ok, so this may be more academic than anything, but here it goes.

I have a cluster, that has 29 hosts with 512GB of RAM each.  So the way we run our clusters and Capacity planning is 0 reservations, no resource pools, and no over-commit.  Capacity is calculated by the formula of ([Sum of All Hosts RAM] - [Largest Host in Cluster RAM ]) - (3 * [Count of Hosts]) - 10%.  This gives us N+1, a 10% buffer overall, and 3GB per host for host related memory usage without issues of HA admission control and such. 

We account for cluster RAM usage by using the allocated, not active RAM of the VMs.  If a VM has 12GB of RAM assigned and is using only 4GB, we subtract the 12 from the overall capacity remaining.

With that, we have no over-commit at all and no contention on the hosts, max utilization under the heaviest of workloads per host is around 60%.  When looking through my vROps I see I have a lot of VM's that have the balloon driver active with varying amount of the RAM in the balloon driver.

Now my understanding for some time is that the balloon driver will not activate UNLESS the host is under pressure.  So I'm confused on why there's active ballooning happening.  I can understand if we got into a situation where we lost two or three hosts (not unheard of) and the remaining hosts come under contention, then the balloon driver would activate and start ballooning and when the contention is resolved that the balloon driver would release the RAM but stay active until a VM Tools restart.  I can see that and understand it, but could it possibly be that it is also holding the RAM in "reserve" since it grabbed it once?

Sincerely, Jody L. Whitlock
Tags (1)
0 Kudos
5 Replies
dekoshal
Hot Shot
Hot Shot

Check this out

Balloon driver retains hold on memory causing virtual machine guest operating system performance iss...

If you found this or any other answer helpful, please consider the use of the Helpful to award points.

Best Regards,

Deepak Koshal

CNE|CLA|CWMA|VCP4|VCP5|CCAH

0 Kudos
UberGeek1
Contributor
Contributor

So these are ESXi 6 Update 3a hosts, and there's no reservations (Unlimited box checked) and no resource pools.

Sincerely, Jody L. Whitlock
0 Kudos
dekoshal
Hot Shot
Hot Shot

Did you try migrating the VM to another host already ?

If you found this or any other answer helpful, please consider the use of the Helpful to award points.

Best Regards,

Deepak Koshal

CNE|CLA|CWMA|VCP4|VCP5|CCAH

0 Kudos
UberGeek1
Contributor
Contributor

Yeah that does clear it up, which I would expect, so does restarting tool service.  My question is more around why would we see ballooning if the host is not under contention...

Sincerely, Jody L. Whitlock
0 Kudos
dekoshal
Hot Shot
Hot Shot

So when VM ask for resource which esxi host could not provide directly it is pulled by balloon driver which run on the VM were memory pages are not active.

once the balloon driver reclaim that memory it pass it on to vmkernel so that it can satisfy resource requirement of the VM in need.

In your case if this is not happening i would suspect the vmmemctl is not functioning properly and require a upgrade maybe.

If you found this or any other answer helpful, please consider the use of the Helpful to award points.

Best Regards,

Deepak Koshal

CNE|CLA|CWMA|VCP4|VCP5|CCAH

0 Kudos