diff -r 7c2386d67889 -r 0f773163217d src/share/vm/runtime/arguments.cpp --- a/src/share/vm/runtime/arguments.cpp Thu Dec 11 12:05:14 2008 -0800 +++ b/src/share/vm/runtime/arguments.cpp Thu Dec 11 12:05:21 2008 -0800 @@ -1517,6 +1517,16 @@ MarkSweepAlwaysCompactCount = 1; // Move objects every gc. } + if (UseParallelOldGC && ParallelOldGCSplitALot) { + // Settings to encourage splitting. + if (!FLAG_IS_CMDLINE(NewRatio)) { + FLAG_SET_CMDLINE(intx, NewRatio, 2); + } + if (!FLAG_IS_CMDLINE(ScavengeBeforeFullGC)) { + FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false); + } + } + status = status && verify_percentage(GCHeapFreeLimit, "GCHeapFreeLimit"); status = status && verify_percentage(GCTimeLimit, "GCTimeLimit"); if (GCTimeLimit == 100) {