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

Watch4net APG 5: Allocating more memory to APG Tomcat

book

Article ID: 323810

calendar_today

Updated On:

Products

VMware

Issue/Introduction

Symptoms:


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


Environment

VMware Smart Assurance - Watch4Net/M&R

Resolution

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>-service.properties file. The default  path of this file is

  • Linux / Unix: /opt/APG/Web-Servers/Tomcat/Default/conf/unix-service.properties
  • Windows: C:\Program Files\APG\Web-Servers\Tomcat\Default\conf\win-service.properties

Here's a sample of the service.properties 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 jvm.param.6=-Djava.io.tmpdir="$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/logging.properties jvm.param.10=-d64
[]

If you modify these values or any other value in the <operating_system>-service.properties 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/manage-module.sh 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.