I think you need to review which type of garbage collection you have
setup in Jrocket. After reading your post I was looking into JRocket and
read following in one of their white papers where if you use JRocket
Parallel garbage collection it will indeed pause the application to do
garbage collection. 

http://www.bea.com/content/news_events/white_papers/BEA_JRockit_wp.pdf

>From page 6, below Adaptive Garbage collection:

"Parallel garbage collection optimizes throughput by taking advantage of
multi-CPU machines to speed up garbage collection. The application is
paused temporarily while all the available CPUs are used by the garbage
collector to quickly reclaim memory from "dead" (unreferenced) objects."

You may want to setup Concurrent garbage collection.

Regards,

John Haigh

-----Original Message-----
From: Terry Ford [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 15, 2007 10:05 PM
To: CF-Linux
Subject: CFMX on JRockit - infrequent but severe GC pauses?

Hi CF linuxers,

I've been running CFMX on Jrockit 1.4.2 for a long time now.  It has
always performed far better than the other JVMs for our applications.
Only 1 crash in over 2 years.  Current uptime of a few months.  

However, as our traffic has risen and the complexity of our apps has
grown, we've started to notice a garbage collection problem.

Short term garbage collection works great.  There are almost no
noticable pauses in everyday operation.  The server handles 1000+ users
at a time without much of a problem.

However, once in a long time (every 12 hrs?  18 hrs?  24 hrs? something
on that magnitude), the JVM becomes totally unresponsive for 2 or 3
minutes.  It completely stops processing templates, and then returns to
normal at the end of the 3 minutes.  CFSTAT freezes, indicating nothing
is going on.  The DB server is processing no queries.  

I suspect that it is using this period of time to do some sort of major
long-term garbage collection.    This is a bit of a problem, since some
of our applications are real-time sensitive and we really can't have
these pauses.

So I was wondering if anyone has any ideas on what may be causing these
infrequent yet severe pauses.

This server is dedicated to HTTP / CFMX6.1.  DB is on a different
server.

Here is the status of our memory at steady state:

             total       used       free     shared    buffers
cached
Mem:       4130600    4114828      15772          0       7844
2141576
-/+ buffers/cache:    1965408    2165192
Swap:      1052248        304    1051944

Here are our JVM args:

java.args=-server -DJINTEGRA_NATIVE_MODE -DJINTEGRA_PREFETCH_ENUMS
-Xbootclasspath/a:{application.home}/lib/webchartsJava2D.jar -Dja
va.awt.graphicsenv=com.gp.java2d.ExHeadlessGraphicsEnvironment -Xmx1000m
-Xms1000m -Xgcprio:pausetime

I think we could probably up that 1000 Xmx, but wouldnt that just make
the garbage collection problem more severe?

The "pausetime" param is described as "The pausetime priority should be
used when the application depends on an even performance."  Yet the
pauses are still occurring.

Thoughts on possible solutions would be much appreciated.  Thanks.

Terry





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Macromedia ColdFusion MX7
Upgrade to MX7 & experience time-saving features, more productivity.
http://www.adobe.com/products/coldfusion?sdid=RVJW

Archive: http://www.houseoffusion.com/groups/CF-Linux/message.cfm/messageid:4311
Subscription: http://www.houseoffusion.com/groups/CF-Linux/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.14

Reply via email to