In vSphere 6.5 the smallest supported memory configuration for the vCenter Server Appliance has been raised from 8GB to 10GB. The smallest "Tiny" deployment size allows up to 10 ESXi Hosts and 100 Virtual Machines. Resources in Homelabs are limited and you might want to lower the memory consumption of the vCenter Servcer Appliance. This article explains how to lower the resource consumption to be able to lower the memory to about 6GB without noticable impacts.

Please note that the smallest supported vCSA size is 2 vCPU and 10GB Memory. Any further downsizing is not supported by VMware. Don't do this in production.

Some vCenter Server Appliance Basics

The vCenter Server Appliance (vCSA) comes with a neat dynamic memory allocation functionality, that automatically adjusts the memory configuration based on the configured total memory. The allocation can be viewed with the cloudvm-ram-size command. The following output is from a "tiny" vCenter with 10GB memory:

# cloudvm-ram-size -l vmcad = 224 vmafdd = 22 vmware-rbd-watchdog = 100 applmgmt = 200 vmware-vsan-health = 100 vmware-vsm = 160 vmware-sps = 478 vmware-stsd = 538 vmware-vpostgres = 699 vmware-psc-client = 288 vmware-eam = 168 vmware-sts-idmd = 328 vmware-mbcs = 128 vcha = 46 vmware-vmon = 5 vmware-statsmonitor = 10 vmware-perfcharts = 357 vsphere-client = 853 vmonapi = 15 vmware-cm = 228 vmware-rhttpproxy = 31 vmdird = 22 vmware-imagebuilder = 50 vmware-sca = 128 vmware-vpxd = 1024 vsphere-ui = 853 vmware-vapi-endpoint = 256 vmware-content-library = 473 vmdnsd = 20 vmware-cis-license = 192 vmware-updatemgr = 164 vmware-vpxd-svcs = 1045 OS = 775 vmware-netdumper = 20 TOTAL(MB) = 10000

After increasing or reducing the virtual machine memory, each service is adjusted automatically but they will never go below 10000MB. If you want to know how far each service can grow, take a look at the configuration file at /etc/vmware/service-layout.mfx.

Dispensable Services

Prior to actually lower the memory you should consider disabling services. Disabling services is always a tradeoff between functionality and resources requirements. The following services are not running by default and are already lowering the resource consumption by 294MB.

Service MB Service Name vmware-rbd-watchdog 100 VMware vSphere Auto Deploy Waiter vmware-mbcs 128 VMware Message Bus Configuration Service vcha 46 VMware vCenter High Availability vmware-netdumper 20 VMware vSphere ESXi Dump Collector

Another few services can be disabled without major impact to the vCenter:

Service MB Service Name vmware-vsan-health 100 VMware VSAN Health Service vmware-sps 478 VMware vSphere Profile-Driven Storage Service vmware-perfcharts 357 VMware Performance Charts vmware-content-library 473 VMware Content Library Service vmware-updatemgr 164 VMware Update Manager vsphere-ui 853 VMware vSphere Client (HTML5)

VMware vSAN Health Service

If vSAN is not in use in the infrastructure managed by the vCenter Server it is safe to disable the vSAN Health Service. Disabling the vSAN Health Service is also explained in VMware KB2145308.



VMware vSphere Profile-Driven Storage Service

This service is required when using Virtual SAN, Virtual Volumes or any other policy-driven Storage scenarios.

[Update: Stopping this service leads to problems when creating or migration Virtual Machines.]

A general system error occurred: PBM error occurred during QueryAllAssociatedProfiles: Connection refused

A general system error occurred: PBM error occurred during PreMigrateCheckCallback: No connection could be made because the target machine actively refused it.

VMware Performance Charts

In the vSphere Web Client you can view pre-rendered performance graphs for supported objects within Performance > Overview. Disabling this services removes this feature and an error message is displayed when you open the Performance Overview Tab. The graphs in the Advanced view are not affected, they still work.



VMware Content Library Service

Removes the Content Library functionality. After disabling this services you also see a warning for the vAPI Endpoint. However, I have not noticed any further problems.



VMware Update Manager

Since vSphere 6.5 the Update Manager is included in the vCenter Server Appliance, which is great. If you don't need it, you can disable the Service. Update Manager related tabs will remain in the Client but when you open it you see an error message.



VMware vSphere Client (HTML5)

The HTML5 based Webclient is a new feature in vSphere 6.5 and will probably replace the Flash-based client in future releases. If you don't want to use it, it is safe to disable.

Disable Services

To disable a service, open the vSphere Web Client and navigate to Administration > Deployment > System Configuration > Services. From here you can stop services and configure the Startup Type to manual which will prevent services from starting automatically.

Stop a running service



Disable service autostart



How far can I lower the vCSA Memory?

When you've disabled all services mentioned in this article you should be able to reduce the memory by about 2.2GB:

Service MB Service Name vmware-vsan-health 100 VMware VSAN Health Service vmware-sps 478 VMware vSphere Profile-Driven Storage Servic e vmware-perfcharts 357 VMware Performance Charts vmware-content-library 473 VMware Content Library Service vmware-updatemgr 164 VMware Update Manager vsphere-ui 853 VMware vSphere Client (HTML5) vmware-rbd-watchdog 100 VMware vSphere Auto Deploy Waiter vmware-mbcs 128 VMware Message Bus Configuration Service vcha 46 VMware vCenter High Availability vmware-netdumper 20 VMware vSphere ESXi Dump Collector TOTAL 2241

How much you can actually lower your vCSA memory depends on your Homelab size and your performance requirements. I've downsized my vCenter managing 4 ESXi Hosts to 6GB and haven't noticed any issues. Sure you can lower it further, but at 5 GB I started to notice a performance impact.

Can I disable additional Services?

In this article, I've mentioned services that are kind of safe to disable. It might be possible to disable more services but I wouldn't recommend so. If you want to explore further, here is a list of all services with their memory allocation. Be careful when disabling services from starting with the appliance when you don't know the impact as this can prevent the vCenter from starting.