Allocate More Memory to Web Server

The web server is a java application and memory is allocated to the web server application when the web server is started. If insufficient memory is allocated to the web server it will run slowly and could halt. High memory utilization will generate errors in the NexOSS-Errors.log file as shown below.

If error e-mail alerts are enabled, then e-mail alerts will be sent.

From: support@transnexus.com [mailto:support@transnexus.com] 
Sent: Tuesday, December 09, 2014 7:10 PM
To: support@transnexus.com
Subject: Error Log Message
 
2014-12-09 19:10:00|WebUserInterface|ERROR  |High memory utilization - used 5.734G out of 5.857G - 97.9% (presized for 5.857G)

The run_web_server.sh script is the script that starts the web server. In this script is the JAVA_OPTS parameter that defines the amount of memory allocated to the web server. Two steps are required to increase memory allocated to the web server.

  1. Edit the sh file using a text editor to increase the JAVA_OPTS parameter.

    This file is located in the $NexOSS_HOME/unix/run directory. An example of the run_web_server.sh file is provided in the following text box. The JAVA_OPTS parameter is highlighted in yellow.

    Example of the Run_web_server.sh file.

    #!/bin/sh
    #
    # This script starts the NexOSS web server which provides the web user
    # interface and other NexOSS web server applications such as route
    # provisioning and reports. 
    #
    # The web server should be stopped using the stop_web_server.sh script.
    #
    # The JAVA_OPTS="-server -mx6000M" line specifies 6000 MB of memory should
    # be allocated to Java for running the NexOSS web server. 
    #
    # TransNexus recommends that the server hosting NexOSS should have a 64-bit
    # operating system with a minimum of 8 GB of physical RAM and the option to
    # expand to at least 32 GB of RAM.  If the NexOSS web interface becomes slow
    # as the routing configuration grows or as the size and number of reports
    # increase, then increasing the amount of RAM allocated to Java in this
    # script may increase the performance of the NexOSS web interface.
    #
    # Note: The javavm.sh script, required for NexOSS command line applications,
    # has a separate memory allocation parameter for Java.  When increasing the
    # Java memory allocation for the web server in this script, also review the
    # Java memory allocation in the javavm.sh script. 
    #
    # 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.
    #
    #
    # mail.smtp.connectiontimeout   - Socket connection timeout value in
    # milliseconds. Default is infinite timeout.
    # mail.smtp.timeout     -       Socket I/O timeout value in milliseconds.
    # Default is infinite timeout.
    #
    EXTRA_SMTP_OPTIONS="-Dmail.smtp.connectiontimeout=2000 -Dmail.smtp.timeout=2000"
    
    JAVA_OPTS="-DNexOSSWebServer $EXTRA_SMTP_OPTIONS -server -mx6000M -d64"
    export JAVA_OPTS
    
    # Copy JDBC drivers into the WebServer's shared/lib folder
    WEB_SERVER_SHARED_LIB=../../WebServer/shared/lib
    JDBC_DRIVER_ORA=../../JDBC/ORACLE/11.2.0.1.0/ojdbc6.jar
    JDBC_DRIVER_MS=../../JDBC/MS_SQL/2005/sqljdbc.jar
    JDBC_DRIVER_MYSQL=../../JDBC/MY_SQL/5.1.16/mysql-connector-java-bin.jar
    
    cp -f $JDBC_DRIVER_ORA   $WEB_SERVER_SHARED_LIB 2>/dev/null
    cp -f $JDBC_DRIVER_MS    $WEB_SERVER_SHARED_LIB 2>/dev/null
    cp -f $JDBC_DRIVER_MYSQL $WEB_SERVER_SHARED_LIB 2>/dev/null
    
    cd ../../WebServer/bin
    ./startup.sh
    cd ../../unix/run
    
  2. Stop and restart the web server using scripts in the $NexOSS_HOME/unix/run