JDK-7128532 : G1: Change default value of G1DefaultMaxNewGenPercent to 80
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs23
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2012-01-10
  • Updated: 2013-09-18
  • Resolved: 2012-03-29
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 JDK 8 Other
7u4Fixed 8Fixed hs23Fixed
Description
As part of the fix for 7113021 we introduced two new develop flags that are used as default values for the minimum and maximum size of the G1 young gen. Initially we 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

Comments
EVALUATION http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1d6185f732aa
22-03-2012

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1d6185f732aa
18-01-2012

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/1d6185f732aa
10-01-2012