> Perhaps I'm not reading the GC logging information correctly, but it didn't 
> appear to me that the GC was to blame for the pauses. Perhaps it might not 
> even be the JVM but the OS kernel? Until I have a good idea what's causing 
> them, it seems that throwing solutions (such as moving to a realtime VM) is 
> just stabbing at the dark.

>From your GC logs it doesn't look like GC is the problem no so for now
the point is moot. However, if you are targeting 10 ms pause times you
may or may not at some point have a problem. For very small heap sizes
and moderate allocation rates it'll probably work okay. Once you start
having larger heap sizes or lots of allocation, it becomes more
difficult. Depending on your application, it may or may not be an
issue. Just be aware that there is no expectation that CMS will
*guarantee* you 10 ms pause times. Same for G1 (or JRockit for that
matter).

As for discovering the real cause of the pause: Without obvious
culprits I would probably just do a "binary search" of source, in
terms of the call stack. Keeping doing the timings at different places
and see where you're not seeing the pauses and where you are seeing
them, and drill down.

Another option, depending on how fast 'jstack' is in relation to your
pauses, is to try to get a 'jstack' on the process while you're seeing
a pause and see if there is a thread blocking in an unexpected
location. That's assuming there is something blocking for an extended
period of time that is causing it.

-- 
/ Peter Schuller

-- 
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