G1 heap growth very aggressive in spite of low heap usage

Tony Printezis tony.printezis at sun.com
Mon Mar 22 22:15:34 UTC 2010


We have recently made some changes to G1 to re-use existing cmd line 
parameters where appropriate instead of introducing new ones. In this 
case I think we should actually observe GCTimeRatio instead of making 
G1GCPercent a product flag. I opened "6937160: G1: should observe 
GCTimeRatio" to track this.


Peter Schuller wrote:
>>> Yes, right now G1 expands the heap a bit too aggressively. It checks the
>>> overall GC overhead and, if it's higher than the goal, it'd expand the heap
>>> hoping that it will reach the required GC overhead (typically, the larger
>>> the heap, the lower the GC overhead).
>> Interesting. Looking at G1CollectorPolicy::expansion_amount(), this
>> seems to be determined by average pause time ratio.
> For the record, changing G1GCPercent to 100 (from the default of 10)
> did indeed eliminate this behavior.
> (Should this option be enabled in non-development builds so that it
> can be tweaked on an out-of-the-box JVM?)
hotspot-gc-use mailing list
hotspot-gc-use at openjdk.java.net

More information about the hotspot-gc-dev mailing list