Skip to main content
Inspiring
October 25, 2012
Question

Garbage Collection and Constant CPU Usage

  • October 25, 2012
  • 2 replies
  • 3239 views

Hello,

We have a load balanced environment running ColdFusion 10 Enterprise with 5 instances currently running. Currently we only have one instance being actively used but have been encountering a problem within a time frame of 12 to 36 hours (calculated on the times we have had to restart CF to come back online) the garbage collection is running almost constantly and CPU holds at 50% until the server just becomes unresponsive until the CF instance is restarted.

I have been monitoring the server via VisualVM to watch the CPU and Heap usage since I have found that running the server monitoring systems build into CF 10 Enterprise accelerate the problem to cause a crash within 4 to 5 hours.

This issue has been occuring regardless if there is heavy load or not on the server. I have been seeing some odd behaviour when running CF Stat where I am seeing 4 Requests Queued and Running Requests never shows anything other than 0. I increased the Minimum Heap Size to 512 MB and Maximum Heap Size to 1024 MB and below is our JVM arguments

-server -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.home={application.home} -Dcoldfusion.rootDir={application.home} -Dcoldfusion.libPath={application.home}/lib -Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Dcoldfusion.jsafe.defaultalgo=FIPS186Random -Dcom.sun.management.jmxremote.port=8701 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

We are running on a Windows 2008 64 Bit and IIS 7.5 on both of the load balanced servers and have updated the server to ColdFusion 10 Update 2. I am aware of the issues that are being fixed in Update 3 that was removed last week by Adobe due to bugs introduced.

If anyone has any insight in how to fix this issue, I would be greatly appreciative.  This is affecting a production server that did not show these problems when we put the servers under load when we did pre launch settings.

This topic has been closed for replies.

2 replies

BKBK
Community Expert
Community Expert
October 26, 2012

neochad wrote:

... the garbage collection is running almost constantly...

That jumped out at me. There are sources and there are sinks. The garbage collector is a sink. If it is running constantly, it implies there is a constant source of objects somewhere. For example, study the Application files to see where there could be a rampant generation of objects.

Legend
October 26, 2012

Windows + CF10 both 64 bit I think:
- max 1024 can be small
- MaxPermSize 192m can be small
= also CF10 cfstat does not seem to work properly (think I have posted something on that previously)

Perhaps a screen cut of the visualvm CPU plus Heap and PermGen will be interesting to look at?

For GC stats you maybe better using another JDK tool Jconsole. Since you have the JMX settings in place use that as well. Although I note you say monitoring makes situation worse.

HTH, Carl.

neochadAuthor
Inspiring
October 26, 2012

Hello Carl,

Thanks for your response! Below is the screen shot of the CPU along with Heap and the PermGen. This is one of our servers that is showing the constant 50% CPU usage when I know we have practically nothing coming through the server right now. Since the restart of ColdFusion yesterday the Heap has been performing well. I have to admit I am not too knowledgeable as to the purpose of PermGen, if you could give a high level explanation as to what that is used for I would be in your debt.

Screen Shots: http://imgur.com/a/SHGvu