tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dale, Matt" <Matt.D...@beCogent.com>
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.

Ta
Matt

-----Original Message-----
From: Torstein Nilsen [mailto:tor_tomcat@top-house.dk]
Sent: 22 January 2004 10:01
To: tomcat-user@jakarta.apache.org
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 
solution.

System settings:
CPU: Pentium 1600 mhz
RAM: 512 MB
OS: Linux (Redhat)
Java: j2re1.4.2_03 / jikes
TOMCAT: 5.0.16
Connector:
org.apache.coyote.tomcat5.CoyoteConnector
(AJP/1.3)
CATALINA_OPTS: -Xmx200m -Xms200m
-Dbuild.compiler.emacs=true
(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 
useful:
-Using HPJmeter' "guess memory leaks" the top-4
suggested candidates are: 
java.util.vector,
org.apache.commons.modeler.Registry, 
org.apache.jk.core.MsgContext and 
org.apache.coyote.Request

-"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...

Regards
Torstein Nilsen


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message