Hi Chuck, Thanks for your explanations. My PermGen seems to be normal, low and steady.
It seems that I solved my problems! So far, these are my conclutions: - Very often, when I restart/redeploy my app, some garbage is left in the memory. I don't know why, given that my code closes everything (relationships with the database, etc), unloads the JDBC drivers, etc. Now I'm restarting Tomcat very often, instead of just restarting/deploying my app. - The Tag bodies made some buffers to grow to huge objects. I have told Tomcat to decrease those buffers if they get bigger than the standard size (512 bytes), and now the problem seems to be gone! I wonder why isn't that "....LIMIT=true" directive a standard. I bet millions of sites are having the same problem, and they don't even imagine what a memory profiler is, and how this can be happening. This problem was swallowing hundreds of MB! - I configured the Context so it wont use a cache for the static pages. At least for now, I made this to all the contexts. Maybe I will restore this capability to just my java app that doesn't have more than a few static resources, and keep it disabled for the 20 WARs full of static pages. This problem was also swallowing hundreds of MB! Brian > -----Original Message----- > From: Caldarale, Charles R [mailto:chuck.caldar...@unisys.com] > Sent: Saturday, November 13, 2010 11:03 AM > To: Tomcat Users List > Subject: RE: Tomcat 6.0.29 using more and more RAM until it collapses? > > > From: Brian [mailto:bbprefix-m...@yahoo.com] > > Subject: RE: Tomcat 6.0.29 using more and more RAM until it collapses? > > > the Eden Space is barely used (10MB right now). The survivor space is > > even less used (1MB right now). > > An object is normally created in Eden and will migrate to survivor if still > reachable during the next minor GC. In most applications, the vast majority > of > objects become unreachable very quickly, and never make it to a survivor > space. > > > But the Tenured Gen space has 120MB right now! In fact, when my JVM > > start to eat houndreds of MB, most of that goes to the Tenured Gen. > > Once the survivor space fills up, long-lived objects migrate to tenured, where > they stay until the application discards them. Very large objects may be > initially allocated in tenured if they won't fit in Eden. Anything you see in > tenured has either been around for quite some time or exceeds the Eden > allocation threshold. The dead objects in tenured space won't be cleaned out > until a major GC occurs; the JVM tries to minimize the number of those since > they take quite a bit more time than a minor GC. You can force a major GC > with the JConsole button. > > > The perm gen is using 22MB right now, which is not a lot so I guess it > > is normal. > > A one-time look at the size of the PermGen isn't interesting; you need to see > whether it increases over time, especially after restarting a webapp. If it > does > increase after a restart, that means the old instance of the webapp is still > hanging around. > > - 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. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org