My Oracle Support Banner

JRockit Native OutOfMemory When Loading Class (Doc ID 1386938.1)

Last updated on FEBRUARY 02, 2018

Applies to:

Oracle JRockit - Version R28 and later
Information in this document applies to any platform.


Environment description:

  1. WebLogic Server and OS: WebLogic Server 10.3 on Windows 2003R2 64 Bits. (+ patch 9884941 , see <Note 1209624.1>)
  2. Oracle JRockit(R) Version R28.1.5-20-146757-1.6.0_29-20111004-1748-windows-x86_64.
JVM options: -Xms2048m -Xmx2048m -XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpOnCtrlBreak -Xverbose:gc -Xverboselog:gclog/%SERVER_NAME%gc.log -Xverbosetimestamp

OutOfMemoryError occured many times in one hour after starting normally. Below is a example of weblogic server log entry:

####<2011-12-10 10:12:23’ CST> <Error> <HTTP> <tgb-18> <tgb1> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <> <> <1323497675235> <BEA-101017> <[weblogic.servlet.internal.WebAppServletContext@124d9ade - appName: 'bea_wls_cluster_internal', name: 'bea_wls_cluster_internal.war', context-path: '/bea_wls_cluster_internal', spec-version: 'null'] Root cause of ServletException.
java.lang.OutOfMemoryError: class allocation, 24947976 loaded, 24M footprint in check_alloc (src/jvm/model/classload/classalloc.c:215) 268 bytes requested.
Java heap 2G reserved, 2G committed
Paged memory=8585239636K/23294392K.
Your Java heap size might be set too high.
Try to reduc
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(
at java.lang.ClassLoader.defineClass(
at java.lang.ClassLoader.loadClass(
at sun.misc.Launcher$AppClassLoader.loadClass(
at java.lang.ClassLoader.loadClass(
at weblogic.cluster.ClusterService.checkRequest(

Try to decrease heap size to 1536M, and disable compressed reference by set option -XXcompressedRefs:enable=false. But the OutOfMemoryError is still occuring. Example of log entry as below:

####<2011-12-15 13:23:12 CST> <Warning> <DeploymentService> <tgb-18> <tgb1> <[ACTIVE] ExecuteThread: '40' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <> <> <1323931224394> <BEA-290064> <Deployment service servlet encountered an Exception while handling the deployment service message for request id "-1" from server "AdminServer". Exception is: "java.lang.OutOfMemoryError: class allocation, 27270664 loaded, 19968K footprint in check_alloc (src/jvm/model/classload/classalloc.c:215) 268 bytes requested.
Java heap 1536M reserved, 1536M committed
Paged memory=8585719356K/23294392K.
Your Java heap size might be set too high.
at sun.misc.Unsafe.defineClass(Native Method)
at sun.reflect.ClassDefiner.defineClass(
at sun.reflect.MethodAccessorGenerator$
at sun.reflect.MethodAccessorGenerator.generate(
at sun.reflect.MethodAccessorGenerator.generateSerializationConstructor(
at sun.reflect.ReflectionFactory.newConstructorForSerialization(

Stack trace indicates OutOfMemoryError raised when JVM is loading class. All other OutOfMemoryError log entry are also show stack trace of class loading.


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document
 Further Question: How to set sufficient and effective value of InitialClassBlockMemory ?

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.