Did Old Gen continually increase *after* performing full GCs? That is, was
the Old Gen usage after full GC #N always greater than the Old Gen usage
after full GC #N+1? If not, you were concerned about something that doesn't
matter.

It's OK for Old Gen to grow; that's why we have a garbage collector. It
would be better if the memory got GCed out of Young Gen, but it's OK if it
makes it to Old Gen and is collected from there. Where it's a problem is
when Old Gen doesn't shrink back down after each full GC, because that
means there is more and more memory actually used, which will eventually
run you out of memory if left unchecked. But anything else is not a reason
not to use a particular product such as Artemis or a particular GC
strategy.

One other note: G1 is capable of GCing Old Gen incrementally without a full
GC. In testing on ActiveMQ 5.10.0 on an early-ish Hotspot 8 JVM (it might
have been 8u5 or 8u21, though I no longer remember exactly which one), I
observed the incremental Old Gen collects to not collect objects that would
be successfully collected in the next full GC. So it's crucial that you
only consider the state of Old Gen following a full GC, not just an
incremental Old Gen collect, which is why I kept explicitly calling out
full GCs above.

Tim

On Feb 8, 2017 8:34 AM, "abhijith" <topcoderabhij...@gmail.com> wrote:

Yes, we tested with G1 settings in load test environment. Old gen was still
increasing with it albeit a bit slower than parallel GC, so we never moved
ahead with it.



--
View this message in context: http://activemq.2283324.n4.
nabble.com/Artems-ParallelGC-vs-CMS-tp4721722p4721737.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to