tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dale, Matt" <>
Subject RE: memory leak in tomcat 5.0.16 ?
Date Thu, 22 Jan 2004 10:05:00 GMT

There is a known memory leak in 5.0.16, I'd upgrade to 5.0.18 and see if this fixes your problem.


-----Original Message-----
From: Torstein Nilsen []
Sent: 22 January 2004 10:01
Subject: memory leak in tomcat 5.0.16 ?

I am developing an intranet for a housing
community using apache/tomcat and 
mysql. It was put in production to 200 users a few
weeks ago and I noticed that 
the java-proces (tomcat) was "growing" from 8%
memory usage when started to 
over 50% (seen with top / ps aux). 

When the mem-usage reach a certain level the
java-proces uses most of the CPU-
ressources as well - verbose:GC showed that this
is the GC trying to keep up. 
This usually happens in a matter of 2-5 hours
depending on the Xmx-settings - the number of 
active users / load seems to speed the process up
(not confirmed). Restarting 
tomcat solves the problem for a while - but I
would prefer a better permament 

System settings:
CPU: Pentium 1600 mhz
RAM: 512 MB
OS: Linux (Redhat)
Java: j2re1.4.2_03 / jikes
TOMCAT: 5.0.16
CATALINA_OPTS: -Xmx200m -Xms200m
(have tried 117 different settings)

At first I used tomcat 4 and j2sdk1.4.1_03 and the
"normal" javac-compiler. 
I changed to jakarta-tomcat-5.0.16 / j2re1.4.2_03
and jikes - this seems to have 
made the problem even worse. Before the update
tomcat could go for more than 12 
hours whitout restarting - now I have to restart
every few hours.

The application is quite DB-intensive: Every 30
secs. a java-thread queries a 
mysql-table with updated network-traffic data
(used for traffic-shaping). In 
the same loop I SAX-parse a little XML-string
using the JDOM-API (I have read 
about the StringBuffer-problem but this is not the
cause since I'm now using 
j2re1.4.2_03 - right ?). I'm using
mysql-connector-3.0.9 as JDBC-driver and 
protomatter-1.1.8 to pool DB-connections. In the
same loop I connect to a TCP-
socket on the local server.

I have done some profiling with HPJmeter and the
-Xrunhprof argument with 
different settings. I'm a newbie in profiling but
these observations might be 
-Using HPJmeter' "guess memory leaks" the top-4
suggested candidates are: 
org.apache.jk.core.MsgContext and 

-"Residual objects" shows the following
top-4-classes (bytes):
int[] (10 MB)
char[] (4 MB)
java.lang.String (2 MB)
byte[] (2 MB)

Any help would be much appreciated...

Torstein Nilsen

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

View raw message