As far as I know we can run JVM with the next options:
-XX:+UseConcMarkSweepGC
-XX:-UseParNewGC
in this case we will have the Serial (DefNew) garbage collector for the young generation and the Concurrent Mark Sweep garbage collector for the old generation.
Well, can we run JVM with -XX:+UseConcMarkSweepGC
option only? I mean without any options that describes a garbage collector for the young generation. If we can do that, which garbage collector will be used for the old generation?
According to this blog entry:
Note that with recent JVM versions
-XX:+UseParNewGC
is enabled automatically when-XX:+UseConcMarkSweepGC
is set. As a consequence, if parallel young generation GC is not desired, it needs to be disabled by setting-XX:-UseParNewGC
.
For a concise summary of command line combinations, you might also be interested in this overview.