The problem is that it's a webapp problem, not a tomcat one, has as been
explained quite a few times here. The PermGen can not be flushed that
way. Normally, the webapp class datas are garbage collected when they
are undeployed/redeployed. However, under certain conditions that depend
on the webapp and not tomcat, there is a memory leak. It can be for
example the use of java ThreadLocal, that can lead the a tomcat
HttpThread holding an object from the webapp, object which hold a
reference to his class which holds a reference the his webappClassLoader
which itself hold reference to all classes of that webapp. Unless you
destroy the HttpThread, you can't clean the webapp classes from memory,
it's lost. And no, you can't destroy the HttpThread.

The best suggestion i can give you is to install tomcat on the student's
computer, not on a server. That way they do not share their environments.
En l'instant précis du 01/23/07 12:46, Ondrej Zizka s'exprimait en ces
termes:
> Hello,
>
> I have the common problem with PermGen and Tomcat, see
> http://mail-archives.apache.org/mod_mbox/tomcat-users/200606.mbox/[EMAIL 
> PROTECTED]
>
> Suppose there is a school server where students (re)deploy their apps, each 
> of which's classes definitions take about five to ten MB.
> Now we have dozens of students, who will deploy at least once, but rather 
> several times a day. That means the server has to be restarted every few 
> hours.
>
> There is no way to automatically flush the PermGen somehow? Or, under which 
> conditions can the GC collect undeployed app's classes data?
>
> Thanks, Ondra Zizka
>   


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to