hi charles, please allow me to disagree to that "hanging onto reference" as the main issue.
permgen space is garbage collector's specific issue, not general "hanging onto reference issue". it is caused by redeployment, which is the metadata for classes, marked to be permanent generation by the hotspot garbage collector. when you deploy new classes, the class loader will introduce memory usages that will also marked as permanent generation. permgen is oracle hotspot specific implementation issue. you won't get it when you run on oracle jrockit (which performs just in time compilation), for example. --- daniel baktiar http://savinggaia.tritiumapps.com - saving the planet is everyone's business! On 23 November 2010 14:10, Caldarale, Charles R <chuck.caldar...@unisys.com>wrote: > > From: xu cheng [mailto:xcheng....@gmail.com] > > Subject: Re: OutOfMemoryError some time on some tomcat!!!!1 > > > I just kept redeploying apps , and the perm gen keep > > growing each time I deploy the same app. and when I > > undeploy the app, the perm gen didn't clean the garbage > > Exactly the situation I suggested the other day: you have something that's > hanging onto a reference to an object from your webapp classes, preventing > the old webapp deployment from being garbage collected. Again, read this: > > http://wiki.apache.org/tomcat/FAQ/Memory > > Also, take a look at these: > > http://blogs.sun.com/fkieviet/entry/classloader_leaks_the_dreaded_java > http://blogs.sun.com/fkieviet/entry/how_to_fix_the_dreaded > > - Chuck > > > THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY > MATERIAL and is thus for use only by the intended recipient. If you received > this in error, please contact the sender and delete the e-mail and its > attachments from all computers. > >