I am trying to understand detail about how the balloon driver really works.
My previous understanding has been that the whole purpose of the balloon driver is a means for the hypervisor ro reclaim memory from the guests when memory is overallocated and scare - this is because the guests have no other way to "give" memory back to the hypervisor, nor does the hypervisor know, and therefore has no way, to relaim memory as-needed from the guests.
My other understanding, which I am now beginning to question, is that ballooning always causes the guest to page (using its internal paging techniques). Also, everyone I talk to says the same, ballooning = paging in the guest. Really? What is making me question this is the difference between consumed and and active memory. Consumed memory is still used by the VM - in other words, even though it is not active, is has not yet been reclaimed by the hyervisor, so the hypervisor cannot give it to other guests. So my question is: is the typical job of ballooning to reclaim consumed memory (which doesn't affect the VM), and then active memory (which will cause paging), or does it always just go after the active memory??
My reasoning for thinking ballooning goes after consumed memory, and therefore does not always imply paging in the guest until it needs to reclaim active memory, is the following statement from VMware:
Thoughts? I am overthinking this?
Thanks
Matt