tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Schultz <>
Subject Re: Tag Handler pool eating up Memory (and enablePooling is set to false)
Date Tue, 02 Dec 2003 03:02:19 GMT

> are you sure this is a tomcat reference holding on to it?
> it could be one of your classes as well, you need to run it through a memory
> profile in order to find out

Yeah, it's possible (and probable) that the TagHandlerPool maintains a 
reference back to the ServletContext in which it lives. That might kew 
your results. I'm sure that the TagHandlerPool isn't actually taking up 
that much memory.

Do you have any of your own tag libraries, or are you using only 
3rd-party taglibs? If you are using your own, check to see if you are 
holding on to references or something like (anything like shared objects 
between tags -- that kind of thing).

If you are using 3rd-party only, check their bug lists to see if there 
are memory leaks listed as bugs.

If you have a profiler handy (something more robust that the heap 
dumper), check to see how many instances of various types there are. For 
example, if you are using, then filter the object 
list by and take a look at how many instances there 
are. If you find that there are thousands of references to tag handlers, 
then something is probably wrong with Tomcat. Otherwise, several hundred 
references doesn't sound horrible. It's possible that they haven't been 
GC'd yet.

I also noticed that you are using JDK 1.4.1. I've heard that this 
version (it might only be the Sun distro -- can someone confirm?) has an 
implementation of StringBuffer that has a terrible memory leak. You 
might want to consider upgrading to 1.4.2 if that's possible.

Hope that helps.


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

View raw message