tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anurag Kapur <>
Subject Re: Tomcat 5.5.25 | Memory leak in Web Application
Date Mon, 11 Oct 2010 16:30:06 GMT
The objects holding references to the character arrays that ultimately
consume all the memory are of type
org.apache.jasper.runtime.BodyContentImpl as indicated in the object
reference tree below:

There was a bug reported in Tomcat 5.5.9 which says

The problem is that this huge array never gets reset due to the object pooling
implementation in Jasper (JspFactoryImpl maintains a pool of PageContextImpl
objects. Each PageContextImpl object maintains an array of BodyContentImpl
objects), so the memory it consumed is never returned to the heap.

We do not use the suggest JVM argument in our Tomcat 5.5.27 JVM

Could adding this argument to the Tomcat JVM resolve the problem?


On Mon, Oct 11, 2010 at 1:55 PM, Anurag Kapur <> wrote:
> Thanks Chris and Chuck for your help so far.
> I have added my problem statement with Images to by blog here:
> On Sat, Oct 9, 2010 at 12:13 AM, Caldarale, Charles R <>
>> > > Attachments are stripped: there is no image to view, here.
>> >
>> > I have attached the heap usage graph as a file this time (heap_usage.jpg)
>> Please read Chris' statement again: attachments are stripped.  If you want us to
look at the pictures, you'll have to post them in some public location on the web.
> Heap utilization is like this:
> An object call reference tree snapshot that I wanted to show you is here:
>> > Or can the address of the object change in the
>> > lifetime of the tomcat jvm?
>> An object can move on each GC.
> So how should I determine if an object (HashMap entry or character array) that I saw
in the first heap dump exists in the next hump dump I obtained after the 4th Full GC?
> Struggling to determine the root cause. Any further pointers would be much appreciated.
> Thanks
> Anurag

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message