Request for review (XXS): 7128532 G1: Change default value of G1DefaultMaxNewGenPercent to 80
Bengt Rutisson
bengt.rutisson at oracle.com
Tue Jan 10 07:57:24 UTC 2012
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