Out of PermGen space is almost always caused by a classloader leak which
occurs when a webapp is reloaded.  It could be caused by either your own
code, third-party code, or in some case Java core classes.

You need to take heap dumps before and after webapp reload and use a heap
analyzer to see what is holding onto the leaked classloader(s).

Bill

On Tue, Apr 24, 2012 at 5:41 PM, Chris Pratt <thechrispr...@gmail.com>wrote:

> Well, yes and no.  As I understand the problem, it really got bad around
> the Java 5 timeframe because of the addition of Enumerations to the
> language.  What Resin does (and all auto-reloading Java containers do) is
> to create a ClassLoader that contains all the code for your application.
>  When it senses a change to your code, it loads that new code into a brand
> new ClassLoader and releases the old one to be garbage collected once it's
> done processing it's active requests.  The problem is that, since
> Enumerations are guaranteed to work with the == operator, even when
> serialized/deserialized between different computers, Java treats them
> special, by keeping them in the Permanent Generation (so their internal
> ID's won't change).  Unfortunately, each time the app is loaded a new set
> of Enumerations takes up more space in the precious PermGen until it
> finally blows its lid.  So, theoretically, you could use less PermGen by
> limiting Enumeration use, but that's really not a realistic response.
>  Before Java became property of Oracle, there was some talk about fixing
> this problem at the JVM level, but I haven't heard anything in quite a
> while.
>   (*Chris*)
>
>
> On Tue, Apr 24, 2012 at 1:54 PM, Rick Mann <rm...@latencyzero.com> wrote:
>
>> When I'm making changes to the code of a webapp, Resin kindly reloads it
>> for me. I can usually get a handful of reloads in before Resin complains
>> about being out of PermGen space.
>>
>> Is there something I'm doing wrong in my app that it leaks like this?
>>
>> --
>> Rick
>>
>>
>> _______________________________________________
>> resin-interest mailing list
>> resin-interest@caucho.com
>> http://maillist.caucho.com/mailman/listinfo/resin-interest
>>
>
>
> _______________________________________________
> resin-interest mailing list
> resin-interest@caucho.com
> http://maillist.caucho.com/mailman/listinfo/resin-interest
>
>
_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to