We are doing a performance test on our application and after a particular stage the server is hanging and finally it dies. Please find the details below.
JDK: jdk_1.5 update 14
App server: jboss-4.0.5.GA
System Configuration: Sun Microsystems sun4v Sun Fire T200
System clock frequency: 200 MHz
Memory size: 4088 Megabytes
We are using visualgc and jconsole to monitor jvm activities. From jconsole, we noticed that the old gen space is getting filled up and no gc is happening to free the old gen space and eventually the system dies. We verfied the same thing with visual gc as well. The jvm args we are using in our application is given below.
When old gen is getting filled up why no gc is happening? Is it because we are using parallelgc? How can be this solved? Please help us. We are stuck with this for weeks and need to be resolved urgently.
Have you tried taking a heap dump and analysing that with a dump processor like Yourkit? It looks like you have a memory leak -or- your app just needs that much memory. You are under a load test after all and JBoss is a real memory pig.
Also, if you suspect a GC problem, have you considered letting the JVM pick a GC instead? Is if this problem is GC related, it will go away when you pick a different GC, methinks.