tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pid <>
Subject Re: Tomcat 100% CPU usage after moving from Java 5 to 6
Date Mon, 25 Jan 2010 11:14:01 GMT
On 25/01/2010 11:08, Jesse Klaasse wrote:
> I am running a production environment for a website (over half a million
> hits per day), using Tomcat 5.5.20 (I'm stuck to that version due to
> support restrictions) behind IIS 6 using JK connector 1.2.28,
> tcnative-1.dll (1.1.19) on Windows Server 2003 R2 Enterprise x64 SP2
> (with 16 GB RAM). Until last week, I have been using Sun Java 5. Last
> week I have upgraded the JDK to Sun Java 6.
> The system uses a MS SQL Server 2005 database, which resides on another
> server.
> That's when things went wrong. At first, all seemed fine (average CPU
> usage seems lower than when using Java 5), but after an hour or so (30
> minutes - 1,5 hour max) after a Tomcat restart, Tomcat's CPU usage jumps
> to 100% (average CPU usage using Java 5 is around 30-40%, peaks around
> 60%). I can't really figure out what is causing this. I have retried
> about 6 restarts (including a complete system reboot), but without any
> success. When I move back to Java 5, the problems are gone.
> My Tomcat Java arguments:
> -Dcatalina.base=D:\tomcat -Dcatalina.home=D:\tomcat
> -Djava.endorsed.dirs=D:\tomcat\common\endorsed
> -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory
> -XX:MaxPermSize=512m
> -Xloggc:D:\logs\gc\tomcat-gc.log -XX:+PrintGCDetails -XX:+UseParNewGC
> -XX:+UseConcMarkSweepGC -XX:+UseTLAB -XX:+CMSClassUnloadingEnabled
> -XX:+CMSPermGenSweepingEnabled -Xms4096m -Xmx10240m
> Some further information which could be important:
> - I have tried to reproduce the problems on my development environment
> (using jMeter for generating server load), but without success;
> - I have created some thread dumps during the 100% CPU periods (attached
> as a zip file);
> I would really like to make the move to Java 6, since Java 5's is EOL.
> Any ideas, anyone?

Have you tested those memory and garbage collection settings with this 
version of Java?

What does the garbage collection log indicate, normal or abnormal activity?

Java 6 has some pretty good tools for examining a running JVM, have a 
nose around in the java/bin directory.


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

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

View raw message