java lang outofmemoryerror class allocating error

Oracle Weblogic Server

After weblogic server start, if you get below out of memory error with Jrockit JVM then try below specified parameters in JAVA_OPTS to solve the issue.

java version “1.6.0_14”

Java(TM) SE Runtime Environment (build 1.6.0_14-b08)

BEA JRockit(R) (build R27.6.5-32_o-121899-1.6.0_14-20091001-2113-linux-x86_64, compiled mode)

Operating System is Red Hat Enterprise 5 ( Linux x86-64 ).

Error :

####<Dec 21, 2011 10:53:48 AM EST> <Error> <Socket> <techpaste> <TPNode1> <ExecuteThread: '15' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <1324482828517> <BEA-000429> <Muxer received error: class allocation, 9312324384 loaded, 4138632320 footprint JVM@check_alloc (src/jvm/model/classload/classalloc.c:118). 568 bytes

java.lang.OutOfMemoryError: class allocation, 9312324384 loaded, 4136632320 footprint JVM@check_alloc (src/jvm/model/classload/classalloc.c:118). 568 bytes.

java.lang.OutOfMemoryError: class allocation, 9312324384 loaded, 4136632320 footprint JVM@check_alloc (src/jvm/model/classload/classalloc.c:118). 568 bytes

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:621)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)

at java.net.URLClassLoader.access$000(URLClassLoader.java:56)

at java.net.URLClassLoader$1.run(URLClassLoader.java:195)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

at weblogic.rjvm.RJVMImpl.peerGone(RJVMImpl.java:1405)

at weblogic.rjvm.RJVMImpl.gotExceptionReceiving(RJVMImpl.java:960)

at weblogic.rjvm.ConnectionManager.gotExceptionReceiving(ConnectionManager.java:1030)

at weblogic.rjvm.MsgAbbrevJVMConnection.gotExceptionReceiving(MsgAbbrevJVMConnection.java:459)

at weblogic.rjvm.t3.MuxableSocketT3.hasException(MuxableSocketT3.java:327)

at weblogic.socket.SSLFilter.hasException(SSLFilter.java:278)

at weblogic.socket.SocketMuxer.deliverExceptionAndCleanup(SocketMuxer.java:795)

at weblogic.socket.SocketMuxer.deliverHasException(SocketMuxer.java:736)

at weblogic.socket.EPollSocketMuxer.dataReceived(EPollSocketMuxer.java:218)

at weblogic.socket.EPollSocketMuxer.processSockets(EPollSocketMuxer.java:177)

at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)

at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:43)

at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)

at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

This issue can be optimised by adding below JVM parameters into JAVA_OPTS while starting the JVM

-XX:+UnlockDiagnosticVMOptions -XXcompressedRefs=0 -Xnoopt -XX:MaxClassBlockMemory=xxM

The default value of -XX:MaxClassBlockMemory is 50 MB, and a reasonable value is around 75 MB.

For more info on JRockit issues check below url:

http://docs.oracle.com/cd/E15289_01/doc.40/e15066/knownissues.htm

In case of any ©Copyright or missing credits issue please check CopyRights page for faster resolutions.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.