On Thu, Feb 9, 2012 at 4:30 PM, pron <ron.press...@gmail.com> wrote:
> Yes, that's what I thought. Does anyone have any experience with Clojure's
> garbage production pattern (esp. due to the persistent collection) and it's
> behavior with the older GCs as well as with G1?

These are the options we run with in production - Clojure is loaded at
runtime into a Tomcat application:

-Dsun.rmi.dgc.client.gcInterval=600000
-Dsun.rmi.dgc.server.gcInterval=600000
-XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC

That's the usual RMI GC fix, and selection of CMS GC which seemed to
suit our memory usage better.

Part of the middleware we use explicitly requests GC approximately
every minute. Disabling those explicit GC calls led to long
stop-the-world GC cycles often enough to have a noticeable effect on
the end user experience so we set explicit calls to use CMS. This had
two benefits for us: consistent performance (the CMS GC bails if takes
too long so our request processing times stay fairly consistent) and
keeping memory usage to reasonable levels (which means we only get
occasional stop-the-world GC cycles and only under extreme bursts of
load). We have min/max heap set to 2.5GB. We may revisit this as we
ramp up traffic but for now this is working pretty well.

The amount of time per request spent in Clojure code varies between 5%
and 80% (depending on the type of request - some logic hardly hits the
Clojure code, some logic is implemented almost entirely in Clojure -
we expect the balance to continue to shift toward Clojure over time).
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to