On Apr 25, 2007, at 10:31 AM, Dario Andrade wrote:


That has to do with the PermSize. It is the classloader's memory.

Set -XX:MaxPermSize=256M at startup.

--
Dario

Jochen Zink escreveu:
Hello,

I'm using Geronimo 1.1.1 and have a problem.

I'm developing a little JSF-Webapplication. First, I deploy the WAR to geronimo and after modifiying the sources I redploy the application WAR. That works fine. But after a while, I get OutOfMemory Exceptions while redeploying. After restarting Geronimo, everythink is fine.

Is this a bug, or a kind of "wrong use of redeploy"?

Hi Jochen,
You are using redeploy properly.

There are different types of OutOfMemoryErrors. Your scenario suggests that you are running out of PermGen space (e.g. "OutOfMemoryError: PermGen space"). PermGen space is used by the Sun JRE to store loaded Classes. As Dario suggests, configuring the MaxPermSize to a larger value (default is 64M), may avoid the problem. However, if there is a ClassLoader memory leak, with each undeploy/deploy (e.g. redeploy), the amount of PermGen space being used will continue to grow. Increasing the PermGen size may only be postponing the inevitable OOME...

ClassLoader memory leaks may be caused by application code or a Geronimo bug. We did test for Classloader memory leaks in 1.1.1 and I'm not aware of any bugs.

I suggest you increase your MaxPermSize to 128M. If you continue to see a problem, then you'll need to dig a bit more. A good Java profiler is pretty useful in tracking down these problems. If you can make a testcase available, then probably someone in the community can take a look... (if you can recreate the problem on one of our 2.0 milestone drivers, then we'd definitely take a look... :)

--kevan

Reply via email to