I consulted with the developers and they said we don't use or do anything that you suggested except we do use tomcat's connection pooling for oracle. We are running Sun j2sdk1.4.2_02 with the Concurrent Mark Sweep GC with -Xmx512m. I currently use the verbose logging for GC times. The odd thing is that it does not seem to progressively go up but rather spike up with high GC times and the full GC will not clean anything out.
Thanks, Rob ____________________________ Rob Wichterman Systems Analyst Nuventive 3996 Mount Royal Blvd. Allison Park, PA 15101 Tel: 412-487-7424 Fax: 412-487-3355 Email: [EMAIL PROTECTED] Website: www.nuventive.com -----Original Message----- From: Christopher Schultz [mailto:[EMAIL PROTECTED] Sent: Tuesday, December 02, 2003 11:00 AM To: Tomcat Users List Subject: Re: OutOfMemory Exception initializing page context Rob, > Well I have had my -Xmx set to as high as 1gb and I still receive these > errors. The site will stay running for at best 1 day without crashing. > I was just hoping one of these could point me in a direction while I > work on looking at memory leaks. Sorry for the levity. Try this: Turn on verbose GCs, and make sure you're sending stdout to a log file (Tomcat does this by default, I think). Empty the stdout log file, restart Tomcat and then let it run out of memory. Take a look at the GC output (they are prettty obvious) and see what's happening to memory. I've done this in the past, and I even wrote a (long lost) Perl script to parse the log file and generate X-Y coordinates that I could plot using Excel. We could plainly see that there was a memory leak of some kind because the graph kept going up and up. It does take a long time to find memory leaks but there are a couple of things you can check. First of all, what JSK are you using? Check some of the following: - Are you starting any of your own threads? If so, are they dying when the context reloads? - Are you reloading the context a lot? - Do any of your container objects like hashtables or whatever keep references to things like the ServletContext, etc.? - Do you regularly remove old objects from users' sessions? - Are you doing any XSLT? - Are you using a database connection pool or are you creating new connections for each user? - Do you keep any persistent connections like sockets or anything open? -chris --------------------------------------------------------------------- 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]