Garbage collection - performance problem
We are running an application in OC4j app server. When i restart the server,
Application runs normally. Each day pass, the garbage collection times increase and memory usage also increase. After 21days, here are the garbage collection time.
Name = 'PS MarkSweep', Collections = 15,294, Total time spent = 2 hours 39 minutes
Name = 'PS Scavenge', Collections = 685,935, Total time spent = 3 hours 12 minutes
When it reaches max memory, system throws out of memory error.
We have lots of Birt reports to generate by the system. It creates lots of objects.
Somehow the system is not releasing objects. is there anyway we can force the system to collect all objects end of the day. Can we set any parameter to run midnight to clean all objects.
Here are the results I was getting from the eclipse analyser.
Problem suspect 1:
The thread com.evermind.server.ApplicationServerThread @ 0x780f2928 AJPRequestHandler-RMICallHandler-213 keeps local variables with total size 66,662,744 (36.66%) bytes.
The memory is accumulated in one instance of "com.evermind.server.ApplicationServerThread" loaded by "oracle.classloader.PolicyClassLoader @ 0x74a35178".
The stacktrace of this Thread is available. See stacktrace.
oracle.classloader.PolicyClassLoader @ 0x74a35178