Thursday, December 5, 2013

JRockit R28 StartUp Issues - WLS 10.3.6

Recently, I configured a WebCenter Portal PS5 Environment having following configuration:

Linux 2.6.32-300.41.1.el5uek x86_64
Weblogic 10.3.6
WebCenter Portal 11.1.1.6.0 BP5
Oracle JRockit(R) (build R28.2.7-7-155314-1.6.0_45-20130329-0641-linux-x86_64)

And when I tried to start Weblogic Server, I found following error/warning messages in the Server log.

[WARN ] Use of -Djrockit.optfile is deprecated and discouraged.
[ERROR][osal   ] Unable to discover information about /mnt/hugepages
[WARN ][memory ] Could not acquire large pages for Java heap.
[WARN ][memory ] Falling back to normal page size.

First, I tried to resolve -Djrockit.optfile warning. To resolve this, I followed below steps.

[WARN ] Use of -Djrockit.optfile is deprecated and discouraged.

1. Open <DOMAIN_HOME>/bin/setDomainEnv.sh
2. Search for property -Djrockit.optfile. You will find it in EXTRA_JAVA_PROPERTIES
3. Replace  existing
-Djrockit.optfile=${COMMON_COMPONENTS_HOME}/modules/oracle.jrf_11.1.1/jrocket_optfile.txt
with
-XX:+UnlockDiagnosticVMOptions -XX:OptFile=${COMMON_COMPONENTS_HOME}/modules/oracle.jrf_11.1.1/jrocket_optfile.txt and Save the file.
4. Open ${COMMON_COMPONENTS_HOME}/modules/oracle.jrf_11.1.1/jrocket_optfile.txt file and change the content as follows and save the file.

Exisitng:
- oracle/xquery/parser/XPathTokenManager.*
- oracle/adf/view/rich/render/RichRenderer.createSubId*
- oracle/adf/view/rich/render/RichRenderer.createClientSubId*

Convert to:
{
match: ["oracle.xquery.parser.XPathTokenManager.*",
"oracle.adf.view.rich.render.RichRenderer.createSubId*",
"oracle.adf.view.rich.render.RichRenderer.createClientSubId*"],
enable: jit
}

Note: content of jrocket_optfile.txt varies depends on environment.

Now let us take a look into error/warning about hugepages.

[ERROR][osal   ] Unable to discover information about /mnt/hugepages
[WARN ][memory ] Could not acquire large pages for Java heap.
[WARN ][memory ] Falling back to normal page size.

This error will occur due to -XX:+UseLargePagesForHeap added to Weblogic Startup command. We can handle this error in two ways.

Approach 1: Comment/remove -XX:+UseLargePagesForHeap from setDomainEnv.sh script.
if [ "${JAVA_VENDOR}" = "Oracle" ] ; then
        EXTRA_JAVA_PROPERTIES="-XX:+UseLargePagesForHeap ${EXTRA_JAVA_PROPERTIES}"
        export EXTRA_JAVA_PROPERTIES
fi

Approach 2: Configure HugePages on Linux  and increase the number of HugePages on the OS using "sysctl -w vm.nr_hugepages" command

Refer following documentation to configure HugePages on Linux.

Kernel Documentation
Note 361468.1: HugePages on Oracle Linux 64-bit
Note 361323.1: HugePages on Linux: What It Is... and What It Is Not...

No comments:

Post a Comment

Provide your thoughts !