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]

Reply via email to