United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7078465 G1: Don't use the undefined value (-1) for the G1 old memory pool max size
JDK-7078465 : G1: Don't use the undefined value (-1) for the G1 old memory pool max size

Details
Type:
Enhancement
Submit Date:
2011-08-12
Status:
Closed
Updated Date:
2013-10-04
Project Name:
JDK
Resolved Date:
2012-03-24
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs22
Fixed Versions:
hs23 (b12)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
Currently, all three G1 memory pools return "undefined" (i.e., -1) for their max size. This decision was made because they don't have fixed boundaries so potentially any pool can grow to the entire heap (almost at least).

Jon Masamitsu made a good suggestion that maybe the old gen pool should return a max size that's the same as the entire heap max size, whereas leave the eden and survivor pools to return undefined. We should do this, as long as it doesn't break any assumptions in testing and/or the rest of the memory pool framework.
Similarly, we should consider setting the old minimum capacity to the heap minimum capacity. This is only used by jstat and currently we set the minimum capacity of all the spaces to 0.
Actually, setting the old gen min capacity to the heap min capacity doesn't really make sense. If the heap is at minimum capacity, the old gen capacity is likely to be under that, since we usually need space for the young gen too. So, the heap min capacity doesn't make sense as a lower bound for the old gen min capacity.

We'll only implement the change for the old memory pool max size.

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/a8a126788ea0
                                     
2012-01-19
EVALUATION

http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a8a126788ea0
                                     
2012-03-22



Hardware and Software, Engineered to Work Together