Article Original Creation Date: 2012-01-12
Overview
The Tomcat service stopped processing Inform requests and started using 100% of the CPU load. Restarting Tomcat solved the issue.
Environment
- Solaris 10
- Apache-Tomcat 5.5.25
Root Cause
Java Heap memory usage was reaching a maximum within six days. The current setting of JAVA_OPTS in the catalina.sh did not solve the issue with garbage collection.
Resolution
To resolve the issue mentioned previously, implement the steps listed below:
- Update JAVA_OPTS in /bin/catalina.sh as mentioned below:
-Xms128m
-Xmx256m
-Xss128k
-XX:PermSize=64m
-XX:MaxPermSize=256m
-verbose:gc
-Xloggc:acs1gc.log
-XX:+PrintHeapAtGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintTenuringDistribution
-Dsun.rmi.dgc.client.gcInterval=1800000
-Dsun.rmi.dgc.server.gcInterval=1800000
-Duser.language=en
-Duser.country=US
-Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true - Change the session-timeout setting in /conf/web.xml from 30 to 1.
- Restart Tomcat.
Confirmation
After implementing the steps mentioned previously, the Java Heap memory usage will not reach a maximum and Tomcat will process the Inform requests, without the need of a restart.