RFR(S): 8010738: G1: Output for full GCs with +PrintGCDetails should contain perm gen size/meta data change info

John Cuthbertson john.cuthbertson at oracle.com
Wed May 8 23:18:51 UTC 2013


Hi Jon,

Sure no problem. Thanks for looking.

JohnC

On 5/8/2013 10:24 AM, Jon Masamitsu wrote:
> John,
>
>
> http://cr.openjdk.java.net/~johnc/8010738/webrev.0/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp.udiff.html 
>
>
>> +  size_t _meta_bytes_before_gc; // Metaspace occupancy before GC
>
> _metaspace_bytes_before_gc,      please?
>
> Rest looks good.
>
> Jon
>
> On 5/6/2013 3:23 PM, John Cuthbertson wrote:
>> Hi Everyone,
>>
>> Can I get a couple of volunteers review these fairly straight forward 
>> changes? The webrev can be found at: 
>> http://cr.openjdk.java.net/~johnc/8010738/webrev.0/.
>>
>> Summary:
>> At sustaining engineering's request I've added the change information 
>> about the metadata space to the detailed heap output for full GCs:
>>
>>> 4.896: [Full GC (Allocation Failure) 512M->343M(512M), 4.3640117 secs]
>>>    [Eden: 0.0B(25.0M)->0.0B(97.0M) Survivors: 0.0B->0.0B Heap: 
>>> 512.0M(512.0M)->343.3M(512.0M)], [Metaspace: 1611K->2433K(6448K)]
>>>  [Times: user=5.13 sys=0.15, real=4.36 secs]
>>
>> The information that gets printed mirrors that of the other 
>> collectors. Here's parallel GC:
>>
>>> 33.245: [Full GC (Ergonomics) [PSYoungGen: 133632K->3423K(144640K)] 
>>> [ParOldGen: 348158K->348158K(348160K)] 481790K->351581K(492800K), 
>>> [Metaspace: 1612K->2433K(6448K)], 2.5788089 secs] [Times: user=9.96 
>>> sys=0.00, real=2.58 secs]
>>
>> The information that's printed is the amount of metaspace used before 
>> the GC, the capacity, and the amount of reserved space.
>>
>> The changes should be straight forward when this is backported to 
>> hs24 - namely replacing the call to 
>> MetaspaceAux::print_metaspace_change() to 
>> perm_gen()->print_heap_change().
>>
>> Most of the changes are the result of renaming some of the fields in 
>> G1CollectorPolicy and the local variables in 
>> G1CollectorPolicy::print_detailed_heap_transition().
>>
>> The included regression test just spawns a child java process to run 
>> a very simple system GC test program with G1 and +PrintGCDetails. The 
>> output of the spawned process is checked for "Metaspace".
>>
>> Thanks,
>>
>> JohnC
>




More information about the hotspot-gc-dev mailing list