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.