what is VMware memory balloon driver

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.

memory balloon

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”

3 Press “j” to add the MCTL stats and Press “Enter” to switch back to the memory stat view
memctl

4. Now lookout for the value MCTL. If “y” means Balloon driver is enabled and running and “N” means Balloon driver not running.

memctl1 vmware
if you only want to see the virtual machines , Press “V”.

Try to monitor your memory balloon when you run application on your VM.