Skip to main content
Kofax

MarkView Application Server - OutOfMemoryError when using WebLogic 12c

Summary

13177

Applies To

  • ERP System : Oracle, SAP
  • MarkView Versions: MarkView 8.1 and higher
  • Application Server: WebLogic Server 12.x and higher

Behavior

  • When using WebLogic 12c errors similar to the following may appear in the Application Server log files:
    • javax.servlet.ServletException: java.lang.OutOfMemoryError: Java heap space

Known Causes

  • WebLogic 12c no longer uses the memory parameters configured in the WebLogic Admin Console. As a result of this issue the default Java memory parameters that are being used are too low for MarkView to run efficiently in a Production environment.
  • In order to confirm you are experiencing this issue please review the markview_server.out log file and search the log for: "JAVA Memory arguments"
    • If the following line is returned you are using the default java parameters which should be increased
      • -Xms256m -Xmx512m (If Java version is earlier than 1.8x the following parameter may also be present: -XX:MaxPermSize=256m)

Resolution

  • For customers running 64-bit versions of WebLogic we recommend 8g of memory be allocated to the WebLogic markview_server in a Production environment (total memory on the machine should be at least 16g). The steps below can be used to increase the amount of memory available to WebLogic.
    • Linux/Unix environments
      1. Search the <markview_domain>/bin/startWebLogic.sh file for the following lines where <markview_domain> is the location of your MarkView WebLogic Domain. (note that the path within the file may vary): # Call setDomainEnv here. DOMAIN_HOME="/projects/wl01/Oracle/wls12120/markview"
      2. Immediately BEFORE these lines add the command to set the USER_MEM_ARGS parameter: USER_MEM_ARGS="-Xms8g -Xmx8g -XX:CompileThreshold=8000 (if the Java version is earlier than 1.8x the additional 2 parameters can also be set: -XX:PermSize=1g - XX:MaxPermSize=1g)" export USER_MEM_ARGS
      3. Navigate to the WebLogic Admin Console -> Servers -> markview_server -> Configuration -> Server Start and remove the following Arguments: -Xms1024m -Xmx1400m -XX:CompileThreshold=8000 -XX:PermSize=128m - XX:MaxPermSize=256m Please remove these arguments even if the value in your environment is different from above. However, the other arguments are needed in order for MarkView to function correctly and should not be removed.
      4. Restart WebLogic.
      5. Review the markview_server.out log file to confirm the updated Memory parameters are being used by searching for the string "JAVA Memory arguments:"
    • Windows environments using a start script for WebLogic
      1. Search the startWebLogic.cmd file for the following lines (note that the path may vary): @REM Call setDomainEnv here. set DOMAIN_HOME=C:\dev\tmp\wls12130\user_projects\domains\mydomain
      2. Immediately BEFORE these lines add the command to set the USER_MEM_ARGS parameter: set USER_MEM_ARGS=-Xms8g -Xmx8g -XX:CompileThreshold=8000 (if the Java version is earlier than 1.8x the additional 2 parameters can also be set: -XX:PermSize=1g - XX:MaxPermSize=1g)
      3. Navigate to the WebLogic Admin Console -> Servers -> markview_server -> Configuration -> Server Start and remove the following Arguments: -Xms1024m -Xmx1400m -XX:CompileThreshold=8000 -XX:PermSize=128m - XX:MaxPermSize=256m Please remove these arguments even if the value in your environment is different from above. However, the other arguments are needed in order for MarkView to function correctly and should not be removed.
      4. Restart WebLogic.
      5. Review the markview_server.out log file to confirm the updated Memory parameters are being used as the "JAVA Memory arguments:"
    • Windows environments using a Windows Service for WebLogic
      • Option 1: Create a new Windows Service to start WebLogic
        • Navigate to the WebLogic Admin Console -> Servers -> markview_server -> Configuration -> Server Start and remove the following Arguments:
          -Xms1024m -Xmx1400m -XX:CompileThreshold=8000 -XX:PermSize=128m - XX:MaxPermSize=256m Please remove these arguments even if the value in your environment is different from above. However, the other arguments are needed in order for MarkView to function correctly and should not be removed.
        • Uninstall your current WebLogic Windows Service
        • Ensure the following parameter is set in the start script used to create your new WebLogic Windows Service
          • set USER_MEM_ARGS=-Xms8g -Xmx8g -XX:CompileThreshold=8000 (if the Java version is earlier than 1.8x the additional 2 parameters can also be set:-XX:PermSize=1g -XX:MaxPermSize=1g)
      • Option 2: Update the Windows Registry
        • Navigate to the WebLogic Admin Console -> Servers -> markview_server -> Configuration -> Server Start and remove the following Arguments:
          -Xms1024m -Xmx1400m -XX:CompileThreshold=8000 -XX:PermSize=128m - XX:MaxPermSize=256m
          Please remove these arguments even if the value in your environment is different from above. However, the other arguments are needed in order for MarkView to function correctly and should not be removed.
        • Take a backup of your current Windows Registry
        • Navigate to the HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services section
          Find the folder with the name of your installed WebLogic Service
          • Example: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\wlsvc mydomain_markview_server
        • The HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\wlsvc mydomain_markview_server\Parameters\CmdLine key contains memory options for your service and can be updated to be similar to the following:
          • -server -Xms8g -Xmx8g -XX:CompileThreshold=8000 (If Java version is earlier than 1.8x the following parameter may also be present: -XX:PermSize=1g - XX:MaxPermSize=1g)

Keywords: OutOfMemoryError, weblogic 12c