tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Darren Kukulka <Darren.Kuku...@connaught.plc.uk>
Subject Problem with JVM Old-Gen heap and setting JVM Memory Pool
Date Wed, 05 Jul 2006 13:54:24 GMT
Hi There!

 

I have a problem with a legacy Tomcat application running on a windows
environment where the Old Gen heap space is gradually hitting close to 100%,
where it becomes immune to immediate garbage collection and causes the
application to become unusable.

 

The environment details are as follow;

 

Platform - Windows Server 2003 Enterprise Edition SP1 (8GB RAM)

Apache/Tomcat Version - 5.5.15

JVM Version - 1.5.07 (Server JVM)

Database - SQL Server 2005 (separate server)

Database Connector - jTDS 1.2 JDBC driver

 

Tomcat is installed as a service so all JVM parameters are controlled via
the Tomcatw.exe.  They are as follows 

 

-Dcatalina.home=F:\tomcat5

-Dcatalina.base=F:\tomcat5

-Djava.endorsed.dirs=F:\tomcat5\common\endorsed

-Djava.io.tmpdir=F:\tomcat5\temp

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

-Djava.util.logging.config.file=F:\tomcat5\conf\logging.properties

-Duser.language=en

-Duser.country=GB

-Xms1500m

-Xmx1500m

-XX:+UseParallelGC

-XX:ParallelGCThreads=2

-XX:+UseParallelOldGC

-XX:+UseAdaptiveSizePolicy

-XX:NewSize=400m

-XX:MaxNewSize=400m

-XX:PermSize=128m

-XX:MaxPermSize=128m

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false

-Dcom.sun.management.jmxremote.port=1234

-Dcom.sun.management.jmxremote.password.file=C:\Program
Files\Java\jre1.5.0_06\jre\lib\management\jmxremote.password

 

All of these parameters are entered in the Java Options space in the Tomcat
Management tool.  Note below that the active values for -Xms and -Xmx appear
to be the ones stipulated in Initial Memory Pool and Maximum Memory Pool.

 



 

One thing I have been trying is to increase the JVM memory pool to take
advantage of the memory in this server (nothing else runs on the box).  The
highest I appear to be able to set it to is about 1350 MB.  Reading through
some doco I see references to this saying to set it to multiples of 1024.  I
attempted to set to 2048 MB as the server has more than enough memory to
cope.  Tomcat refuses to take anything more than 1350 MB!

 

As you can see by my judicious use of GC parameters (!) I have also tried
tuning the garbage collector to aggressively clean the Old Gen heap.  This
settled things down for a while but if the JVM is left unattended for a few
hours the Old Gen builds up and sometimes 'freezes' as explained before.
Sometimes a manual GC with JConsole helps but this is hardly ideal!  GC sure
is a barrel-o-fun!

 

Can anybody offer some suggestions to resolve this?

 

Cheers,

 

Darren Kukulka

IT Infrastructure Consultant

Conntrol

Connaught PLC

 





Connaught honoured AIM 'Decade of Excellence' Award 



Connaught awarded Partnering Contractor of the Year 2005 



Connaught wins AIM 'Company of the Year' award 2004 



West of England Business of the Year Award Winner 2003 



Why not visit our website http://www.connaught.plc.uk 



Disclaimer: 

The information transmitted is intended only for the person or entity to which it is addressed
and may contain confidential and/or privileged material. Any review, retransmission, dissemination
or other use of, or taking of any action in reliance upon, this information by persons or
entities other than the intended recipient is prohibited. If you received this in error, please
contact the sender and delete this message. 



Connaught plc, Head Office 01392 444546 

Mime
View raw message