Request for review (XXS): 7128532 G1: Change default value of G1DefaultMaxNewGenPercent to 80
Bengt Rutisson
bengt.rutisson at oracle.com
Tue Jan 10 19:01:36 UTC 2012
Thanks Jon and Tony! All set to push this now.
Bengt
On 2012-01-10 17:00, Jon Masamitsu wrote:
> Perfect.
>
> On 01/09/12 23:57, Bengt Rutisson wrote:
>>
>> Hi all,
>>
>> Could I have a couple of reviews for this really small change? I am
>> just changing the default value of a newly introduced flag from 50 to
>> 80.
>>
>> 7128532 G1: Change default value of G1DefaultMaxNewGenPercent to 80
>> http://monaco.us.oracle.com/detail.jsf?cr=7128532
>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7128532
>>
>> Some background:
>>
>> As part of the fix for 7113021 I introduced two new develop flags
>> that are used as default values for the minimum and maximum size of
>> the G1 young gen. Initially I set these to 20% and 50% respectively.
>> Monica has now been running some performance tests to see if it would
>> be better with other default values. It looks like we would benefit
>> from a larger maximum value.
>>
>> It should be pretty safe to have a large maximum value. The
>> heuristics in G1 calculates the actual young gen size based on the
>> pause target. So, just because we have a large max does not mean that
>> we will ever get a young gen that big. Also, it is always possible to
>> override the default value with -XX:MaxNewSize.
>>
>> Here are some SPECjbb2005 results from Monica:
>>
>> Min 20, Max 77: Valid run, Score is 356592; Full GC (outside of the
>> system GCs): 0
>> Min 33, Max 77: Valid run, Score is 353053; Full GC (outside of the
>> system GCs): 0
>> Min 20, Max 60: Valid run, Score is 352318; Full GC (outside of the
>> system GCs): 2
>> Min 15, Max 77: Valid run, Score is 349376; Full GC (outside of the
>> system GCs): 0
>> default (Min: 20, Max 50): Valid run, Score is 347647; Full GC
>> (outside of the system GCs): 2
>> Min 20, Max 70: Valid run, Score is 346375; Full GC (outside of the
>> system GCs): 0
>> Min 33, Max 60: Valid run, Score is 333381; Full GC (outside of the
>> system GCs): 0
>>
>> For comparison:
>> parallelold: Valid run, Score is 358668; Full GC (outside of the
>> system GCs): 13
>>
>> Here is a webrev:
>> http://cr.openjdk.java.net/~brutisso/7128532/webrev.01/
>>
>> But since the change is so small I am including the diff here as well:
>>
>> diff --git a/src/share/vm/gc_implementation/g1/g1_globals.hpp
>> b/src/share/vm/gc_implementation/g1/g1_globals.hpp
>> --- a/src/share/vm/gc_implementation/g1/g1_globals.hpp
>> +++ b/src/share/vm/gc_implementation/g1/g1_globals.hpp
>> @@ -295,7 +295,7 @@
>> "Percentage (0-100) of the heap size to use as minimum
>> " \
>> "young gen
>> size.") \
>>
>> \
>> - develop(uintx, G1DefaultMaxNewGenPercent,
>> 50, \
>> + develop(uintx, G1DefaultMaxNewGenPercent,
>> 80, \
>> "Percentage (0-100) of the heap size to use as maximum
>> " \
>> "young gen size.")
>>
>>
>> Thanks,
>> Bengt
>>
More information about the hotspot-gc-dev
mailing list