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
Mon May 6 22:23:55 UTC 2013
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