JDK-6524727 : GC ergonomics does not honor the minimum young gen size implied by a -Xms and NewRatio
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 5.0,7
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2007-02-13
  • Updated: 2010-08-28
  • Resolved: 2007-05-24
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.
Other JDK 6 JDK 7 Other
5.0u22-rev,hs10Fixed 6u4Fixed 7Fixed hs10Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Description
Using -Xms and NewRatio does not set the correct minimum size for
the young generation when GC ergonomics is being used.  The minimum size
for the young generation is still set by NewSize which has not been
adjusted for -Xms.

Comments
WORK AROUND The minimum size of the young gen needs to be explicitly set. The comment on the workaround should say to set NewSize (not NewRatio).
28-08-2010

SUGGESTED FIX Added a variable (_min_heap_byte_size) to hold the minimum size of the heap and use it to set the minimum size of the young generation.
22-02-2007

EVALUATION The parallel collector uses NewSize as the minimum size of the young generation and does not check the size implied by -Xms and NewRatio. The fix is to check the value implied by -Xms and NewRatio and use the larger between it and NewSize if NewSize has not been explicitly set on the command line. With the other collectors the minimum sizes and the initial sizes of the generations are the same and the initial size for the young generation is correctly set according to -Xms and NewRatio where it needs to be.
22-02-2007

WORK AROUND Explicitly setting NewRatio or using -Xmn does the right thing.
13-02-2007