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