On 6/20/2013 8:02 AM, John Nielsen wrote:
We used to use G1, but recently went back to CMS.
G1 gave us too long stop-the-world events. CMS uses more ressources for
the same work, but it is more predictable and we get better worst-case
performance out of it.
This is exactly the behavior I saw. When you take a look at the overall
stats and the memory graph over time, G1 looks way better.
Unfortunately GC with any collector does sometimes get bad, and when
that happens, un-tuned G1 is a little worse than un-tuned CMS. Perhaps
if G1 were tuned, it would be really good, but I haven't been able to
find any information on how to tune G1.
jHiccup or gclogviewer can give you really good insight into how your GC
is doing in both average and worst-case scenarios. jHiccup is a wrapper
for your program and gclogviewer draws graphs from GC logs. I'm not
sure whether gclogviewer works with G1 logs or not, but I know that
jHiccup will work with G1.
http://www.azulsystems.com/downloads/jHiccup
http://code.google.com/p/gclogviewer/downloads/list
http://code.google.com/p/gclogviewer/source/checkout
http://code.google.com/p/gclogviewer/issues/detail?id=7
Thanks,
Shawn