I thought this might have been common knowledge, but after chatting with a VMware colleague who recently rebuilt his home lab, I realized it may not be the case. The vCenter Server Appliance (VCSA) is distributed as a virtual appliance and by default it is configured for 8GB of memory. However, this is definitely NOT the "minimum" amount of memory required to have a fully functional vCenter Server.
It looks like some people are just downloading the vCenter Server appliance and just sticking with the defaults of 8GB of memory which for a home lab is quite a large footprint, especially given you will probably want to install other virtual machines. The actual minimum for vCenter Server (Windows or Linux) is just 4GB and technically speaking, you can even get away with just 3GB for the vCenter Server Appliance (anything less, the system is extremely slow and unusable).
Here is a quick screenshot showing vCenter Server Appliance running with only 3GB of memory:
VMware also has a KB article detailing the minimum requirements for the vCenter Server Appliance based on the number of virtual machines and hosts you plan on running. For my home lab, I normally stick with the 4GB of memory and I have not had any issues. Hopefully this tip will help you save some memory for either your lab or even production environment for other workloads.
Hi,
Any idea on the minimum vRAM/vCPU for the other VMware OVAs? I would be nice to have a comprehensive list for us labbers.
I saw this post showing someone pushing the vCOps OVA from 16GB down to 5.5GB:
http://cloudjockey.me/2012/05/07/vmware-vcenter-operations-in-memory-constrained-lab-environments/
I run VIN successfully with 1 vCPU and 2GB vRAM, when the official documentation states 2 vCPUs and 4GB vRAM.
Cheers,
Forbes
This is actually something I'm already looking into. Hopefully I'll have an answer soon
So how is the memory reduced, what is the process to redue this memory mine is 12 gb I definitely don't need that in my home lab.
Hi William,
Lowering the RAM for the vCenter VA doesn't automatically change the JVM Heap settings?
So this needs to be configured manually to match the RAM ammunt set on the vCenter VA, right?
Regards,
Christian
It won't change jvm heap size. We can do both ways:
1. Using web interface (https://vc:5480) to lower inventory size to small.
2. If VM you tried to configure still smaller than 5GB (JVM config for small size mentioned above is 0.5+3G+1G), you can use CLI to change them in one line by login to shell prompt:
# Usage: /usr/sbin/vpxd_servicecfg jvm-max-heap write tomcat_memsize is_memsize sps_memsize
# example:
/usr/sbin/vpxd_servicecfg jvm-max-heap write 256 1536 512
But CLI did not handle other java services like SSO/vSphere Client Server/logBrowser, manual change its wrapper config is required (or search for JAVA_OPTS variable or -XmxNNNNm java cli option):
SSO: /usr/lib/vmware-sso/bin/setenv.sh
vSphere client server: /usr/lib/vmware-vsphere-client/server/bin/dmk.sh
Log Browser: /etc/init.d/vmware-logbrowser
Regards,
Yite
William,
Great information. Do you have any suggestions for minimizing the memory settings for vCenter 6.0 appliance?
Thanks
I think it is the same procedure as for 5.5 !
lololo ... the files are different between 5.5 and 6.0
In 5.5 I would make these changes;
- Edit /usr/lib/vmware-vsphere-client/server/wrapper/conf/wrapper.conf, set wrapper.java.maxmemory=1024
- Edit /usr/lib/vmware-vpx/inventoryservice/wrapper/conf/wrapper.conf, set wrapper.java.maxmemory=1536
- Edit /usr/lib/vmware-vpx/sps/wrapper/conf/wrapper.conf, set wrapper.java.maxmemory=512
Shutdown VM and change RAM from default 8GB to 4GB
These settings are not longer in these files ... and the inventory service folder/file is gone.
Definitely not the same procedure.
The procedure is indeed *not* the same. Please take a look at this article for more details http://www.virtuallyghetto.com/2015/02/dynamic-memory-resizing-for-vcenter-server-6-0.html
FYI - For VCSA 6.0, the lowest I've seen it tuned down is ~4.5-6GB of memory depending on some of your resources (e.g. Running it on SSDs apparently helps speed things up mention by other folks) and if you disable some unused services that can also help. YMMV
Thanks William,
So based on the information in the link that you sent, with the new dynamic memory resizing algorithm, there is no need to manually tweak config files. Just change the VM memory to ~4.5-6 GB of memory and power back on ... and wait for it to boot. 😉
You mention stopping unneeded services, is there an "elegant" way to stop those services?
Thanks
any link to download vcenter 5.5 appliance??pleaaaaaaase i need it
??? logon to vmware site and download it.
Is there a trick to force VCSA 6.5 to install/upgrade using < 10GB RAM?
Would like to know too. The 10GB RAM install requirement really is a deal breaker for me as my dedicated vcenter lab ESXi host has currently only 8GB. As I only have a handful of VM's to manage vcenter should really work with less than 8GB even though they added Update Manager to the vcsa services.
I finally managed to circumvent this requirement by installing vcsa 6.5 in a nested ESXi on my workstation and transfering it later to my dedicated physical ESXi with ovftool. All in all a real pita.
And theres one problem left. Even after decreasing the vcsa VM's memory in the config to a bit over 7GB ('cause ESXi overhead) the new dynamic memory resizing algorithm did not adapt to the decreased memory even after multiple reboots.
"cloudvm-ram-size -l" still tells me the services are configured for 10.000MB
Old procedures for adjusting the memory requirements do not work for me on vcsa 6.5.
Any help/hint appreciated.
It's 2023. Are we still sticking with 4 GB?
Thanks for the tip William, where do I make the memory change at in appliance?
Thanks sir,