vCenter Server – verify your heap memory size configuration!

Lately been getting a lot of service status failures for the following vCenter Server services:

VMware vCenter Storage Monitoring service.
VMware vSphere Profile-driven Storage service

The monitoring service was the most frequent and non-impacting but now and then the profile-drive storage failed which caused large impact since users could not deploy or start vApps in vCloud director.

Turns out when we installed vCenter server for the first time we sized it for a small environment and current this is not the case anymore so with the heap sizes set to small for all services we started running into problems.

Troubleshooting:

The only way to resolve this temporarily was to restart the vCenter server.  Restart just the specific service did not always resolve the problem for us.

Looked in dslog files and found errors as follows:
C:\ProgramData\VMware\Infrastructure\Profile-Driven Storage\Logs\wrapper.log

Caused by: java.lang.OutOfMemoryError: Java heap space

Solution:

Update the vCenter Server heap memory sizes for specified services to reflect the current size of your environment.

This table provides the JVM heap size recommendations:

vCenter Server 5.5:

vCenter Server Inventory VMware VirtualCenter Management Webservices (tc Server) Inventory Service Profile-Driven Storage Service
Small inventory (1-100 hosts or 1-1000 virtual machines) 512 MB 3 GB 1 GB
Medium inventory (100-400 hosts or 1000-4000 virtual machines) 512 MB 6 GB 2 GB
Large inventory (More than 400 hosts or 4000 virtual machines) 1024 MB 12 GB 4 GB


Note:After adjusting the JVM heap size in the wrapper.conf file, VMware recommends restarting the VirtualCenter Management Web services. For more information, see Stopping, starting, or restarting vCenter services (1003895).

Links:

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2021302