I am a newbie to performance tuning. So sorry if these questions/descriptions sound dumb. We have an application running on jboss 4.0.5. Our application seems to crash with an Out of memory error within 2 hours. We recently did some major code revamping and a simultaneous upgrade from jdk1.5.0_11 to jdk1.6.0_23 and now we're not sure why it's crashing These are the jvm parameters -
-Dsun.lang.ClassLoader.allowArraySyntax=true -Doracle.jdbc.V8Compatible=true -Xrs -Dprogram.name=run.bat -Xms1280m -Xmx1280m -Xrs -XX:MaxPermSize=192m -XX:+DisableExplicitGC -verbose:gc -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationConcurrentTime -Xloggc:D:\jboss\bin\\..\server\default\log\gc.log -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dcom.sun.management.jmxremote -Djava.endorsed.dirs=D:\jboss\bin\\..\lib\endorsed . Here's the extract of the log when it crashed -
# A fatal error has been detected by the Java Runtime Environment:
# java.lang.OutOfMemoryError: requested 894664 bytes for Chunk::new. Out of swap space?
# Internal Error (allocation.cpp:272), pid=2000, tid=7980
# Error: Chunk::new
# JRE version: 6.0_23-b05
# Java VM: Java HotSpot(TM) Server VM (19.0-b09 mixed mode windows-x86 )
# If you would like to submit a bug report, please visit:
--------------- T H R E A D ---------------
Current thread (0x5fd17000): JavaThread "CompilerThread0" daemon [_thread_in_native, id=7980, stack(0x5ff30000,0x5ff80000)]
Stack: [0x5ff30000,0x5ff80000], sp=0x5ff7e5e4, free space=313k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C2:4077 ! org.jboss.mq.il.uil2.SocketManager$ReadTask.run()V (547 bytes)
I'm attaching the entire log and also the garbage collection log. I am not able to interpret what is going wrong by looking at these logs. Could anyone please guide me as to how to interpret these logs or point me to what is going wrong? I would really appreciate it. Please let me know if any more description is needed. We are planning to deploy it for user testing in two days and a crash every two hours would be unacceptable.