vSphere enforces a default safety limit for dynamic memory growth to ensure guest operating system stability and prevent memory address exhaustion. This is governed by the memory.maxgrow configuration parameter, which is set to 16 by default.
The maximum allowable hot-add memory is calculated as: Initial power-on memory * memory.maxgrow = hotPlugMemoryLimit
You can check max memory value for hot add using this command from the ESXi host which VM running on.
From this example, this VM was powered on with 4GB memory and it could increase 64GB using hot plug fuction.
# vim-cmd vmsvc/getallvms
Vmid Name File Guest OS Version Annotation
22 test test.vmx ubuntu64Guest vmx-17
DB_TEST2
vim-cmd vmsvc/get.config 22 |grep -i hotplug
hotPlugMemoryLimit = 65536,
hotPlugMemoryIncrementSize = 128,
To increase memory beyond the current limit, use one of the following methods. Both procedures require a virtual machine power cycle to apply the new limits.
Additional Information: