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

You should read his report.


1) I don't see how he would be affected, since he seems to have a rather small server; you need large variations in traffic to get the leak (and the workaround is easy enough anyway)
2) He's using AJP, not HTTP ;)


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

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxx Rémy Maucherat Senior Developer & Consultant JBoss Group (Europe) SàRL xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to