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