CRR (S): 7097586: G1: improve the per-space output when using jmap -heap
Bengt Rutisson
bengt.rutisson at oracle.com
Tue Jan 17 12:52:01 UTC 2012
Hi Tony,
Looks good! Ship it!
Bengt
On 2012-01-12 19:32, Tony Printezis wrote:
> Hi all,
>
> I'd like a couple of code reviews for this change that enhances the
> heap summary information generated by the SA (which is used for the
> jmap -heap output):
>
> http://cr.openjdk.java.net/~tonyp/7097586/webrev.0/
>
> Currently, the heap summary generated for G1 is as close as possible
> to what's generated for the other GCs. Bengt made a good suggestion
> that it'd be helpful to enhance the output with some G1-specific
> information in order to make it more informative. The important
> changes are the 15 lines or so that were changed in HeapSummary.java,
> the rest is boilerplate to be able to access specific fields and
> objects from the SA. I included before / after jmap -heap output below.
>
> Note that we actually had a small bug in the code which caused the
> sizing information in the G1MonitoringSupport object to become
> inconsistent between a cleanup and the subsequent GC: the old space
> information was not updated to reflect any old region reclamation
> during cleanup. I fixed this as part of this change too (I'll add a
> note to the CR).
>
> Tony
>
> BEFORE:
>
> using thread-local object allocation.
> Garbage-First (G1) GC with 8 thread(s)
>
> Heap Configuration:
> MinHeapFreeRatio = 40
> MaxHeapFreeRatio = 70
> MaxHeapSize = 1073741824 (1024.0MB)
> NewSize = 1048576 (1.0MB)
> MaxNewSize = 4294967295 (4095.9999990463257MB)
> OldSize = 4194304 (4.0MB)
> NewRatio = 2
> SurvivorRatio = 8
> PermSize = 16777216 (16.0MB)
> MaxPermSize = 67108864 (64.0MB)
>
> Heap Usage:
> G1 Young Generation
> Eden Space:
> capacity = 19922944 (19.0MB)
> used = 3145728 (3.0MB)
> free = 16777216 (16.0MB)
> 15.789473684210526% used
> From Space:
> capacity = 2097152 (2.0MB)
> used = 2097152 (2.0MB)
> free = 0 (0.0MB)
> 100.0% used
> To Space:
> capacity = 0 (0.0MB)
> used = 0 (0.0MB)
> free = 0 (0.0MB)
> 0.0% used
> G1 Old Generation
> capacity = 19922944 (19.0MB)
> used = 5849192 (5.578224182128906MB)
> free = 14073752 (13.421775817871094MB)
> 29.359074642783717% used
> Perm Generation:
> capacity = 16777216 (16.0MB)
> used = 2749208 (2.6218490600585938MB)
> free = 14028008 (13.378150939941406MB)
> 16.38655662536621% used
>
> 1719 interned Strings occupying 137520 bytes.
>
>
> AFTER (I marked the changes with bold; note that now there's only one
> Survivor section, as G1 does not have the concept of two survivors
> that are always allocated):
>
> using thread-local object allocation.
> Garbage-First (G1) GC with 8 thread(s)
>
> Heap Configuration:
> MinHeapFreeRatio = 40
> MaxHeapFreeRatio = 70
> MaxHeapSize = 67108864 (64.0MB)
> NewSize = 1048576 (1.0MB)
> MaxNewSize = 4294967295 (4095.9999990463257MB)
> OldSize = 4194304 (4.0MB)
> NewRatio = 2
> SurvivorRatio = 8
> PermSize = 16777216 (16.0MB)
> MaxPermSize = 67108864 (64.0MB)
> * G1HeapRegionSize = 1048576 (1.0MB)
> *
> Heap Usage:
> *G1 Heap:
> regions = 57
> capacity = 59768832 (57.0MB)
> used = 18018304 (17.18359375MB)
> free = 41750528 (39.81640625MB)
> 30.146655701754387% used
> *G1 Young Generation:
> Eden Space:
> * regions = 3
> * capacity = 30408704 (29.0MB)
> used = 3145728 (3.0MB)
> free = 27262976 (26.0MB)
> 10.344827586206897% used
> *Survivor Space:
> regions = 2
> * capacity = 2097152 (2.0MB)
> used = 2097152 (2.0MB)
> free = 0 (0.0MB)
> 100.0% used
> G1 Old Generation:
> * regions = 13
> * capacity = 27262976 (26.0MB)
> used = 12775424 (12.18359375MB)
> free = 14487552 (13.81640625MB)
> 46.85997596153846% used
> Perm Generation:
> capacity = 16777216 (16.0MB)
> used = 2741840 (2.6148223876953125MB)
> free = 14035376 (13.385177612304688MB)
> 16.342639923095703% used
>
> 1710 interned Strings occupying 136904 bytes.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20120117/1d4cd918/attachment.htm>
More information about the hotspot-gc-dev
mailing list