If you are using the VCSA (vCenter Server Appliance) and you wish to increase the VM memory settings to one of the three supported memory configurations: 8-16GB, 24GB & 32GB, there is on additional configuration change before the new memory configuration can take effect. This change is adjusting the JVM Heap memory settings for the following vCenter Server Services: vSphere Web Client, Inventory Service and SPS (vSphere Profile-Driven Storage). If you would like to do this from the UI, you can access the VCSA's VAMI interface and under vCenter Server->Services tab, there is a "Inventory Size" toggle that you will need to set based on your VCSA's configured memory. Once you have save the settings, you will need to restart the vCenter Server for the changes to take effect.
Note: The text in the VAMI states that the appliance requires at least 16GB of RAM for a Medium configuration which is actually incorrect, it should actually say 24GB for Medium configuration. The correct supported VCSA memory configuration maximum can be found here.
The UI is great but what if you wish to automate this change? This is especially handy if you have already automated the memory increase for the VCSA itself. Luckily, we can turn to our handy vpxd_servicefg command which supports modifying the JVM Memory based on the three supported vSphere Inventory Sizes. Below is the chart with the respective Inventory Size and command to issue within the VCSA. The parameters reflect the JVM Heap configurations for the vSphere Web Client, Inventory Service and SPS (vSphere Profile-Driven Storage).
|Inventory Size||VCSA Memory||Command|
|Small||8-16GB||/usr/sbin/vpxd_servicecfg 'jvm-max-heap' 'write' '512' '3072' '1024'|
|Medium||24GB||/usr/sbin/vpxd_servicecfg 'jvm-max-heap' 'write' '512' '6144' '2048'|
|Large||32GB||/usr/sbin/vpxd_servicecfg 'jvm-max-heap' 'write' '1024' '12288' '4096'|
/usr/sbin/vpxd_servicecfg service restart