This VMware feature works within the guest OS to be aware of the host's memory needs, and if additional memory is needed by the hypervisor, the balloon driver can work inside the guest OS to utilize OS freed memory pages to be released to the hypervisor. Since this works as a per-virtual guest option, memory ballooning is seen as a better memory management option than hypervisor swapping. It's important to note that in order to participate in memory ballooning, the VM must have the balloon driver installed or the hypervisor will not have any insight into what memory pages are freed in the virtual guest. The balloon driver also inflates purposefully to work with the OS to overestimate the amount of memory being used so that the guest OS will not simply cache physical memory. The key to this is to inflate enough to prevent caching, but not so much that the guest will start swapping out pages to disk. If the balloon is inflated too much, the VM won't have enough memory to run its own processes, which will trigger memory swapping and ultimately slow down the VM.