Allocate More Memory

NexOSS has many Java applications that run in the background and are not part of the web server application. These applications do not have a web interface, only a command line interface. When these applications have insufficient memory, the problem will be logged in messages stating “OutOfMemoryError” or “Java heap space error”. The following log message is an example:

2008-04-21 20:08:39|RateExport     |INFO   |Loading rates for: RatePlan@(Id/Name: 323 / NW7digit-ITE ) EffectiveDate is Thu Mar 13 00:00:00 MST 2008
Exception in thread "RateExport" java.lang.OutOfMemoryError: Java heap space at oracle.jdbc.driver.CharCommonAccessor.getString(CharCommonAccessor.java:384)

Also, when these applications run with high memory utilization, they generate error log messages that can result in e-mail alerts that memory utilization is too high.

The fix for these errors is to allocate more memory to the NexOSS background applications. Memory allocation to Java for the NexOSS CLI utilities is defined by the MAX_MEMORY_ALLOWED parameter in the $NexOSS_HOME/unix/bin/javavm.sh file. Edit this file to allocate more memory. A section of this file is shown in the following text box:

#
#           JAVA VIRTUAL MACHINE MEMORY USAGE
#
# This parameter defines the amount of memory space allocated to Java for
# running NexOSS utilities, except for the NexOSS web server. (Java memory
# allocation for the NexOSS web server is configured in the
# start_web_server.sh script.)
#
# TransNexus recommends that the server hosting NexOSS should have at least
# 16 GB of RAM with RAM expansion up to 32 GB.  The Oracle database
# requires 1000 MB of RAM.  At least 3000 MB of memory should be allocated
# to Java, in this script, to run the NexOSS utilities. 
#
# Note, the NexOSS web server has a separate Java memory allocation which
# is configured in the start_web_server.sh script.  At least 6000 MB of
# memory should be allocated to Java in the start_web_server.sh script
# for running the NexOSS web server.
#
# Allocating too little or too much memory for Java will impact system
# performance. Contact support@transnexus.com for advice on the best Java
# memory allocation based on available RAM and your VoIP operations.
#
# Note: In order for Java to use more than 2500M of RAM, the server hosting
# NexOSS must be running a 64-bit Operating System and 64-bit version of Java.
#
#
MAX_MEMORY_ALLOWED=4000M