Watch4net APG 5: Allocating more memory to APG Tomcat
search cancel

Watch4net APG 5: Allocating more memory to APG Tomcat


Article ID: 323810


Updated On:





Watch4net APG 5: Allocating more memory to APG Tomcat
How to allocate more memory to APG Tomcat in Watch4Net APG 5


VMware Smart Assurance - Watch4Net/M&R


By default Tomcat Memory Allocation is set to 512MB. In most cases, it is necessary to allocate more memory. Set it to at least 1024MB, 2048MB or even more depending of your system capacity." })

Sometimes, Tomcat may be slow or even crashing due to a lack of RAM. In the log files, you will see notifications like these:

GC Limits Exceeded

This means that the "garbage collector", a java process, is running too often and is unable to free memory. When this occurs, you have to allocate more RAM to Tomcat.

Memory allocation settings for APG Tomcat are now located in an <operating_system> file. The default  path of this file is

  • Linux / Unix: /opt/APG/Web-Servers/Tomcat/Default/conf/
  • Windows: C:\Program Files\APG\Web-Servers\Tomcat\Default\conf\

Here's a sample of the files, focusing on the parameters to edit. The lines in red are the ones to be tweaked according to your settings.

  • The first two lines (memory.init & memory.max) specify the initial and maximum amount of memory Tomcat can use as Heap.
  • The third line is the Permanent Generation Size. The more memory is allocated to Tomcat in memory.init & in memory.max, the bigger this value ought to be.
  • The fourth line indicates Tomcat to run in 64 bits environment, allowing Tomcat to use more than 4 GB of memory.

#==================================== # Initial Java Heap Size (in MBytes) #==================================== memory.init=256 #====================================# Maximum Java Heap Size (in MBytes) #==================================== memory.max=512 #=================================================== # Additional Java Parameters, starting from index 1 #===================================================
jvm.param.1=-Djava.awt.headless=true jvm.param.2=-XX:MaxPermSize=128m jvm.param.3=-Dcatalina.base="$MODULE_HOME$" jvm.param.4=-Dcatalina.home="$MODULE_HOME$" jvm.param.5=-Djava.endorsed.dirs="$MODULE_HOME$"/endorsed"$MODULE_HOME$"/temp jvm.param.7=-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger jvm.param.8=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager jvm.param.9=-Djava.util.logging.config.file="$MODULE_HOME$"/conf/ jvm.param.10=-d64

If you modify these values or any other value in the <operating_system> file, do not forget to reinstall the service to save these new settings permanently. Otherwise, they will not be taken into account. Here's the command to re/install a service (for Linux):

/opt/APG/bin/ service update Tomcat

While this entry focuses mainly on Tomcat, it also applies to other APG modules like the Backend or the Collector-Manager in the same way.