The memory balloon driver (vmmemctl) collaborates with the server to reclaim pages that are considered least valuable by the guest operating system. The driver uses a proprietary ballooning technique that provides predictable performance that closely matches the behavior of a native system under similar memory constraints. This technique increases or decreases memory pressure on the guest operating system, causing the guest to use its own native memory management algorithms. When memory is tight, the guest operating system determines which pages to reclaim and, if necessary, swaps them to its own virtual disk.
For simple explanation the process where the hypervisor reclaims memory back from the virtual machine. Ballooning is an activity that happens when the ESXi host is running out of physical memory. The demand of the virtual machine is too high for the host to handle.
First you need to install vmware tools on your VM to works this properly.
Install vmware tools on centos
#yum install open-vm-tools
or you can install it via vmware client or web client
You can use the esxtop and follow the below steps.
1. Connect ESX server via SSH and type esxtop. Default will show the CPU stats. Switch to the memory stats by entering “m”
2.By default, Memory stats view will not show the balloon drive stats. To add the field, Press “f”
4. Now lookout for the value MCTL. If “y” means Balloon driver is enabled and running and “N” means Balloon driver not running.
Try to monitor your memory balloon when you run application on your VM.