When you deploy a VMware vCenter Server Appliance it comes configured with a standard of 8 GB Memory. For a lot of smaller environments this is too much and you can re-configure the JVM heap size for the vCenter Server processes and therefore consume less memory.
List Configured Memory
ssh to your vcsa server
login with the root account
execute command: vpxd-servicecfg jvm-max-heap read
The output gives you three values:
VC_MAX_HEAP_SIZE_QS
== Indicates the amount of RAM configured for the Query Service (inventory service)
VC_MAX_HEAP_SIZE_SPS
== Indicates the amount of RAM configured for the Policy Based Storage Management (storage profile service)
VC_MAX_HEAP_SIZE_TOMCAT
==> Indicates the amount of RAM configured for Tomcat (vSphere Web Client Service)
VC_CFG_RESULT = 0
==> Indicates that the vpxd-servicecfg command was successful
Change Configured Memory
ssh to your VCSA server
login with the root account
Reconfigure memory for Tomcat (vSphere Web Client Service)
Edit usr/lib/vmware-vsphere-client/server/wrapper/conf/wrapper.conf
Change the value for wrapper.java.maxmemory to 1024 (default = 2048)
Reconfigure memory for the Query Service (Inventory Service)
Edit /usr/lib/vmware-vpx/inventoryservice/wrapper/conf/wrapper.conf
Change the value for wrapper.java.maxmemory to 1536 (default = 3072)
Reconfigure memory for the Policy Based Storage Management (Storage Profile Service)
Edit /usr/lib/vmware-vpx/sps/wrapper/conf/wrapper.conf
Change the value for wrapper.java.maxmemory to 512 (default =1024)
Shut down the virtual machine where teh vCenter Server Appliance is installed
Reconfigure the VM to 4 GB RAM
Reboot the Virtual machine
See also VMware KB 2005086 and article Arthur Krzywdzinski