< prev index next >

src/share/vm/runtime/arguments.cpp

Print this page




3176       // space per-gc-thread buffers.  The default is 4kw.
3177       FLAG_SET_CMDLINE(uintx, YoungPLABSize, 256*K);      // Note: this is in words
3178 
3179       // OldPLABSize is the size of the buffers in the old gen that
3180       // UseParallelGC uses to promote live data that doesn't fit in the
3181       // survivor spaces.  At any given time, there's one for each gc thread.
3182       // The default size is 1kw. These buffers are rarely used, since the
3183       // survivor spaces are usually big enough.  For specjbb, however, there
3184       // are occasions when there's lots of live data in the young gen
3185       // and we end up promoting some of it.  We don't have a definite
3186       // explanation for why bumping OldPLABSize helps, but the theory
3187       // is that a bigger PLAB results in retaining something like the
3188       // original allocation order after promotion, which improves mutator
3189       // locality.  A minor effect may be that larger PLABs reduce the
3190       // number of PLAB allocation events during gc.  The value of 8kw
3191       // was arrived at by experimenting with specjbb.
3192       FLAG_SET_CMDLINE(uintx, OldPLABSize, 8*K);  // Note: this is in words
3193 
3194       // Enable parallel GC and adaptive generation sizing
3195       FLAG_SET_CMDLINE(bool, UseParallelGC, true);
3196       FLAG_SET_DEFAULT(ParallelGCThreads,
3197                        Abstract_VM_Version::parallel_worker_threads());
3198 
3199       // Encourage steady state memory management
3200       FLAG_SET_CMDLINE(uintx, ThresholdTolerance, 100);
3201 
3202       // This appears to improve mutator locality
3203       FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false);
3204 
3205       // Get around early Solaris scheduling bug
3206       // (affinity vs other jobs on system)
3207       // but disallow DR and offlining (5008695).
3208       FLAG_SET_CMDLINE(bool, BindGCTaskThreadsToCPUs, true);
3209 
3210     } else if (match_option(option, "-XX:+NeverTenure", &tail)) {
3211       // The last option must always win.
3212       FLAG_SET_CMDLINE(bool, AlwaysTenure, false);
3213       FLAG_SET_CMDLINE(bool, NeverTenure, true);
3214     } else if (match_option(option, "-XX:+AlwaysTenure", &tail)) {
3215       // The last option must always win.
3216       FLAG_SET_CMDLINE(bool, NeverTenure, false);
3217       FLAG_SET_CMDLINE(bool, AlwaysTenure, true);




3176       // space per-gc-thread buffers.  The default is 4kw.
3177       FLAG_SET_CMDLINE(uintx, YoungPLABSize, 256*K);      // Note: this is in words
3178 
3179       // OldPLABSize is the size of the buffers in the old gen that
3180       // UseParallelGC uses to promote live data that doesn't fit in the
3181       // survivor spaces.  At any given time, there's one for each gc thread.
3182       // The default size is 1kw. These buffers are rarely used, since the
3183       // survivor spaces are usually big enough.  For specjbb, however, there
3184       // are occasions when there's lots of live data in the young gen
3185       // and we end up promoting some of it.  We don't have a definite
3186       // explanation for why bumping OldPLABSize helps, but the theory
3187       // is that a bigger PLAB results in retaining something like the
3188       // original allocation order after promotion, which improves mutator
3189       // locality.  A minor effect may be that larger PLABs reduce the
3190       // number of PLAB allocation events during gc.  The value of 8kw
3191       // was arrived at by experimenting with specjbb.
3192       FLAG_SET_CMDLINE(uintx, OldPLABSize, 8*K);  // Note: this is in words
3193 
3194       // Enable parallel GC and adaptive generation sizing
3195       FLAG_SET_CMDLINE(bool, UseParallelGC, true);


3196 
3197       // Encourage steady state memory management
3198       FLAG_SET_CMDLINE(uintx, ThresholdTolerance, 100);
3199 
3200       // This appears to improve mutator locality
3201       FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false);
3202 
3203       // Get around early Solaris scheduling bug
3204       // (affinity vs other jobs on system)
3205       // but disallow DR and offlining (5008695).
3206       FLAG_SET_CMDLINE(bool, BindGCTaskThreadsToCPUs, true);
3207 
3208     } else if (match_option(option, "-XX:+NeverTenure", &tail)) {
3209       // The last option must always win.
3210       FLAG_SET_CMDLINE(bool, AlwaysTenure, false);
3211       FLAG_SET_CMDLINE(bool, NeverTenure, true);
3212     } else if (match_option(option, "-XX:+AlwaysTenure", &tail)) {
3213       // The last option must always win.
3214       FLAG_SET_CMDLINE(bool, NeverTenure, false);
3215       FLAG_SET_CMDLINE(bool, AlwaysTenure, true);


< prev index next >