I am looking into the various options around garbage collection on a Java 6 18 VM and would like some pointers.
We run our application on JBoss, and occasionally the
Long but good reading: http://victor-jan.blogspot.com/2010/05/classloader-leaks-dreaded.html In short, it is solvable. Not easy, but solvable.
Unfortunately, the answers are:
The basic problem is that the GC will not garbage collect a strongly reachable object. You need to figure out why those old application class loaders are still reachable after a redeploy ... and fix the leak.
Alternatively, give up on hot redeployment on your production servers, or restart the web container (e.g. JBoss) more often.