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] > >