This post happens to have a fairly in depth coverage of some of the issues
that can cause the OutOfMemoryErrors in web applications, and some solutions
which may help you encounter it less often:

http://www.patrickpeak.com/page/patrick/20050614#your_web_app_is_leaking

HTH,

Spencer

On 11/29/05, Patrick Casey <[EMAIL PROTECTED]> wrote:
>
>
>         I believe the two most common culprits are the JDBC driver manager
> and Commons Logging.
>
>         --- Pat
>
> > -----Original Message-----
> > From: Sergei Dubov [mailto:[EMAIL PROTECTED]
> > Sent: Tuesday, November 29, 2005 12:18 PM
> > To: Tapestry users
> > Subject: Re: java.lang.OutOfMemoryError: PermGen space
> >
> > Just out curiosity, Pat, what kind of particular "JVM level singletons"
> > hold onto classloaders?
> >
> > Thanks,
> >
> > Serge
> >
> > Patrick Casey wrote:
> > >     There's the 'yah but' though, which is that, in a web app, JVM
> > > singletons can hang onto the classloader which, in turn, keeps
> > references to
> > > all the classes it has loaded. Hence even when the GC makes a sweep
> > through
> > > perm space, the "old" classes are still references (by the singleton)
> > and
> > > hence don't get swept. So the "old" classloaders are themselves never
> > > getting swept.
> > >
> > >     It's not a failure of the garbage collector, or of tapestry, it's
> a
> > > failure of imagination on the folks who decided that JVM level
> > singletons
> > > were a good way to solve a certain set of problems.
> > >
> > >     --- Pat
> > >
> > >>-----Original Message-----
> > >>From: Sergei Dubov [mailto:[EMAIL PROTECTED]
> > >>Sent: Tuesday, November 29, 2005 10:24 AM
> > >>To: Tapestry users
> > >>Subject: Re: java.lang.OutOfMemoryError: PermGen space
> > >>
> > >>Perm space is garbage collected when the classloader that loaded the
> > >>class files is garbage collected. And this happens not only
> during  hot
> > >>redeploys. This is info is per JVM spec.
> > >>
> > >>Serge.
> > >>
> > >
> > >
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to