Following an upgrade to v7.2, the Tomcat service was unable to start.


Error written to stdout log:

2013-05-20 13:29:20 Commons Daemon procrun stdout initialized
Error occurred during initialization of VM
Could not reserve enough space for object heap

Work around / Resolution:

There was insufficient free RAM available to start the Tomcat service.

The amount of RAM required is dependent on a number of parameters, the main configurable one being in HKLM\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\<CRM Tomcat instance>\Parameters\Java\Options

By default, the -XX:MaxPermSize parameter will be set to 512MB. Should the installer find that it cannot start the Tomcat service, it will attempt to reduce the allocation to 256MB, then 128MB. This allocation can be reduced manually. Please keep in mind that reducing this allocation may cause PermGen space errors, especially when using the Exchange integration.

Additional considerations:
Should SQL Server or Exchange be hosted on the same server, you may need to set a limit for the amout of RAM that is consumed by each application.

Exchange's Extensible Storage Engine (store.exe) can raise its RAM allocation to (system total - kernel storage) GB, assuming there are no other memory pressures. By default, it will allow 2GB for kernel memory. The maximum memory consumed by ESE is set using the msExchESEParamCacheSizeMax key.

SQL Server:
This is set in Server->Properties->Memory->Maximum server memory.

Please note that these applications will consume a large amount of memory in order to reduce disk I/O and improve performance. Decreasing the RAM available to either may degrade overall performance of these applications.