JMS (ActiveMQ) heap memory exception

PROBLEM

The Internal Communication Bus (aka JMS) component terminates with a heap memory exception.

 

CAUSE

Typically occurs when Traverse grows to more than 25 servers (BVE, DGEs, extensions).

RESOLUTION

Do not implement the following changes unless instructed to do so via a ticket by Kaseya Support.  These changes apply only to the 'Internal Communication Bus' component (a.k.a. JMS) on the BVE.

 

'TRAVERSE_HOME' should be replaced by the actual Traverse installation location in the paths below.

 

To increase the heap memory utilized by JMS/ActiveMQ on a Linux BVE:

  • Install the 64bit Java 1.6 (Java 6 is a requirement) on the Traverse BVE, if not already present:

yum install java-1.6.0-openjdk

  • Stop all Traverse BVE components

cd TRAVERSE_HOME/etc ./traverse.init stop

  • Modify 'TRAVERSE_HOME/etc/jms.init' to use the 64bit Java Virtual Machine, instead of the 32bit version included with Traverse. For example if the 64bit Java is installed under '/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.34.x86_64/jre', then insert this line above 'JAVACMD=' in order to utilize the 64bit JVM:

JAVA_HOME="/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.34.x86_64/jre"

  • In the same file, increase the maximum heap memory allocated from '512m' to '1536m' :

## Increase max memory to 1536

JAVACMD="${JAVA_HOME}/bin/java -Xmx1536m -Xss256k -Djava.ext.dirs=${JAVALIB}"

  • Start the JMS component and ensure that it remains running:

./jms.init start

  • Then start the remaining Traverse components:

./traverse.init start

 

To increase the heap memory utilized by JMS/ActiveMQ on a Windows BVE:

  • Install the 64bit Java 1.6 JRE from the Oracle web site (Java 6 is a requirement) on the Traverse BVE, if not already present
  • Stop all Traverse BVE components via the Traverse Service Controller
  • Modify 'TRAVERSE_HOME\bin\jms.lax' to use the 64bit Java instead of the 32bit version included with Traverse. For example, if the 64bit Java binary is installed under 'C:\Program Files\Java\jre6', then change this line to reference the 64bit JVM:

    lax.nl.current.vm=C:\\Program Files\\Java\\jre6\\bin\\java.exe
  • Also increase the maximum heap memory allocated from '512m' to '1536m' :

    lax.nl.java.option.additional=-Xmx1536m -Xss256k  .... 

  • Start only the 'Internal Communication Bus' component using the 'Traverse Service Controller' and ensure that this component remains running
  • Start the remaining Traverse components via 'Traverse Service Controller'

 

 

APPLIES TO 

All versions of Traverse.

 

REFERENCE 

None.

Have more questions?

Contact us

Was this article helpful?
0 out of 0 found this helpful

Provide feedback for the Documentation team!

Browse this section