Status/Resolution/Reason: Closed/Withdrawn/NotThisProduct
Reporter/Name(from Bugbase): Bradley Wood / Bradley Wood (Bradley Wood)
Created: 06/27/2013
Components: Installation/Config
Versions: 10.0
Failure Type: Non Functioning
Found In Build/Fixed In Build: Final /
Priority/Frequency: Critical / All users will encounter
Locale/System: English / Win 2008 Server R2 64 bit
Vote Count: 0
Problem Description: In previous version of coldfusion, the JVM args -Dsun.rmi.dgc.client.gcInterval and
-Dsun.rmi.dgc.server.gcInterval could be used in jvm.config to increase the frequency of major garbage collections. In ColdFusion 10, the setting appears to be ignored. Collections appear to be happening once per hour-- possibly due to the org.apache.catalina.core.JreMemoryLeakPreventionListener listener. This makes it more difficult to tune your JVM's GC settings.
Steps to Reproduce:
The following Java args should produce a major collection every 10 minutes, but they do not:
java.args=-server -Xms256m -Xmx512m -XX:MaxPermSize=192m -XX:+UseParallelGC -Dsun.rmi.dgc.client.gcInterval=60000 -Dsun.rmi.dgc.server.gcInterval=60000 -Xloggc:gc2.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=1024K -Xbatch -Dcoldfusion.home={application.home} -Djava.awt.headless=true -Dcoldfusion.rootDir={application.home} -Djava.security.policy={application.home}/lib/coldfusion.policy -Djava.security.auth.policy={application.home}/lib/neo_jaas.policy -Dcoldfusion.classPath={application.home}/lib/updates,{application.home}/lib,{application.home}/lib/axis2,{application.home}/gateway/lib/,{application.home}/wwwroot/WEB-INF/cfform/jars,{application.home}/wwwroot/WEB-INF/flex/jars,{application.home}/lib/oosdk/lib,{application.home}/lib/oosdk/classes -Dcoldfusion.libPath={application.home}/lib -Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Dcoldfusion.jsafe.defaultalgo=FIPS186Random
Actual Result:
Full GCs execute hourly, or only if the Perm Gen fills up to the point where a full GC is required. (Confirmed with verbose GC logging)
Expected Result:
Regular full collections every 10 minutes.
Any Workarounds:
Create scheduled task on the server that runs on the interval you desire and executes the following two lines of code:
<cfset runtime = CreateObject("java","java.lang.Runtime").getRuntime()>
<cfset runtime.gc()>
----------------------------- Additional Watson Details -----------------------------
Watson Bug ID: 3586424
External Customer Info:
External Company:
External Customer Name: bradwood.com
External Customer Email:
External Test Config: My Hardware and Environment details:
Windows Server 2008 R2
ColdFusion Enterprise 10,0,10,284825
Tomcat: 7.0.23.0
Java: 1.7.0_21
Attachments:
Comments: