DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26323>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26323

memory leak in tomcat 5 (?)

           Summary: memory leak in tomcat 5 (?)
           Product: Tomcat 5
           Version: 5.0.16
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: Unknown
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
                CC: [EMAIL PROTECTED]


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 - probably the Java-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)

When deplyed I used tomcat 4 and j2sdk1.4.1_03 and the "normal" javac-compiler. 
When I discovered the problem 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)

Please help -  I can't stand another month with this error...

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

Reply via email to