On Sep 14, 2009, at 9:59 AM, Russell Collins wrote:
The main issue with permgen that I have had is with continuous build
processes. At the end of my continuous build process, the artifacts
are deployed to the server. After about 10 or so deployments, the
permgen issue arises without fail. What ends up happening is that
the Geronimo server needs to be restarted. This memory leak/hogging/
etc does not happen when Geronimo uses JRockit.
Russell,
Is your build process undeploying the artifacts? If your artifacts are
being undeployed and over time you run out of PermGen, then there's a
ClassLoader memory leak. Could be in Geronimo or in application/
application library code. Using JRockit, you're moving the memory leak
from a specialized PermGen space, to a generalized Heap space (which
is larger and thus you're less likely to run out of memory). Either
way, you still have a memory leak...
Using Sun JDK, if you run with -XX:+HeapDumpOnOutOfMemoryError you'll
generate a java_pid<process-id>.hprof file. This file can be used to
diagnose your problem. We can help, if you collect this data and post
it to a Jira.
--kevan