Seeking help regarding Full GCs with G1
Yu Zhang
yu.zhang at oracle.com
Thu Aug 7 23:30:45 UTC 2014
I just added an entry to https://blogs.oracle.com/g1gc/
g1gc logs - Ergonomics -how to print and how to understand
Hope this answers your question.
Thanks,
Jenny
On 8/7/2014 7:54 AM, Srini Padman wrote:
> Thanks for both the suggestions, Wolfgang. We are going with the
> following parameters for the next test run:
>
> -server -Xms4096m -Xmx4096m -Xss512k -XX:PermSize=128m
> -XX:MaxPermSize=128m -XX:+UseG1GC -XX:+ParallelRefProcEnabled
> -XX:+DisableExplicitGC -verbose:gc -XX:+PrintAdaptiveSizePolicy
> -XX:+UnlockExperimentalVMOptions -XX:G1HeapRegionSize=2m
> -XX:G1MixedGCLiveThresholdPercent=75 -XX:G1HeapWastePercent=5
> -XX:InitiatingHeapOccupancyPercent=65 -XX:+UnlockDiagnosticVMOptions
> -XX:+G1PrintRegionLivenessInfo
>
> The expectations being:
>
> 1\ with a total heap size of 4 GB, an application memory footprint of
> 2.2 GB, and an acceptable heap waste of 5%, the "effective" footprint
> is 2.2 + 0.05 * 4 GB = 2.4 GB, which is slightly smaller than 60% of
> the heap
> 2\ setting the initiating occupancy percent to 65% gives us a little
> bit of operating room over the effective heap footprint of 60%
> 3\ even if the heap is "perfectly" fragmented, that is, even if this
> means *all* regions are 60% occupied, all of them will still be
> eligible for mixed GCs since the threshold is now 75%.
>
> Regards,
> Srini.
>
>
> On Thursday, August 7, 2014 9:02 AM, Wolfgang Pedot
> <wolfgang.pedot at finkzeit.at> wrote:
>
>
> Hi again,
>
> it might also help to to look at how the regions are occupied.
> G1PrintRegionLivenessInfo will print the regions during the
> marking-phase so you can see how many are OLD or possibly HUMS and how
> they are occupied.
> This information has helped me quite a bit while tweaking G1 and our
> application for optimal performance.
>
> regards
> Wolfgang
>
> Am 07.08.2014 00:48, schrieb Srini Padman:
> > Hello,
> >
> > I am currently evaluating the use of the G1 Collector for our
> > application, to combat the fragmentation issues we ran into while
> > using the CMS collector (several cases of failed promotions, followed
> > by *really* long pauses). However, I am also having trouble with
> > tuning the G1 collector, and am seeing behavior that I can't fully
> > understand. I will appreciate any help/insight that you guys can offer.
> >
> > What I find puzzling from looking at the G1 GC logs from our tests is
> > that the concurrent marking phase does not really seem to identify
> > many old regions to clean up at all, and the heap usage keeps growing.
> > At some point, there is no further room to expand ("heap expansion
> > operation failed") and this is followed by a Full GC that lasts about
> > 10 seconds. But the Full GC actually brings the memory down by almost
> > 50%, from 4095M to 2235M.
> >
> > If the Full GC can collect this much of the heap, I don't fully
> > understand why the concurrent mark phase does not identify these
> > (old?) regions for (mixed?) collection subsequently.
> >
> > On the assumption that we should let the GC ergonomics do its thing
> > freely, I initially did not set any parameter other than -Xmx, -Xms,
> > and the PermGen sizes. I added the G1HeapRegionSize and
> > G1MixedGCLiveThresholdPercent settings (see below) because, when I saw
> > the Full GCs with the default settings, I wondered whether we might be
> > getting into a situation where all (or most?) regions are roughly 65%
> > live so the concurrent marking phase does not identify them for
> > collection but a subsequent Full GC is able to. That is, I wondered
> > whether our application's heap footprint being 65% of the max heap led
> > to these full GCs coincidentally (since G1MixedGCLiveThresholdPercent
> > is 65% by default). But I don't know why the same thing happens when I
> > set G1MixedGCLiveThresholdPercent down to 40% - even if all regions
> > are 40% full, we will only be at about 1.6 GB, and that is far below
> > what I think our heap footprint is in the long run (2.2 GB). So I
> > don't understand how to ensure that old regions are cleaned up
> > regularly so a Full GC is not required.
> >
> > GC Settings in use:
> >
> > -server -Xms4096m -Xmx4096m -Xss512k -XX:PermSize=128m
> > -XX:MaxPermSize=128m -XX:+UseG1GC -XX:+ParallelRefProcEnabled
> > -XX:+DisableExplicitGC -verbose:gc -XX:+PrintAdaptiveSizePolicy
> > -XX:+UnlockExperimentalVMOptions -XX:G1HeapRegionSize=2m
> > -XX:G1MixedGCLiveThresholdPercent=40
> >
> > This is using JRE 1.7.0_55.
> >
> > I am including a short(ish) GC log snippet for the time leading up to
> > the Full GC. I can send the full GC log (about 8 MB, zipped) if
> necessary.
> >
> > Any help will be greatly appreciated!
> >
> > Regards,
> > Srini.
> >
> > ---------------------------
> >
> > 2014-08-06T04:46:00.067-0700: 1124501.033: [GC
> > concurrent-root-region-scan-start]
> > 2014-08-06T04:46:00.081-0700: 1124501.047: [GC
> > concurrent-root-region-scan-end, 0.0139487 secs]
> > 2014-08-06T04:46:00.081-0700: 1124501.047: [GC concurrent-mark-start]
> > 2014-08-06T04:46:10.531-0700: 1124511.514: [GC concurrent-mark-end,
> > 10.4675249 secs]
> > 2014-08-06T04:46:10.532-0700: 1124511.515: [GC remark
> > 2014-08-06T04:46:10.532-0700: 1124511.516: [GC ref-proc, 0.0018819
> > secs], 0.0225253 secs]
> > [Times: user=0.01 sys=0.00, real=0.02 secs]
> > 2014-08-06T04:46:10.555-0700: 1124511.539: [GC cleanup
> > 3922M->3922M(4096M), 0.0098209 secs]
> > [Times: user=0.03 sys=0.03, real=0.01 secs]
> > 2014-08-06T04:46:49.603-0700: 1124550.652: [GC pause (young)
> > Desired survivor size 13631488 bytes, new threshold 15 (max 15)
> > - age 1: 1531592 bytes, 1531592 total
> > - age 2: 1087648 bytes, 2619240 total
> > - age 3: 259480 bytes, 2878720 total
> > - age 4: 493976 bytes, 3372696 total
> > - age 5: 213472 bytes, 3586168 total
> > - age 6: 186104 bytes, 3772272 total
> > - age 7: 169832 bytes, 3942104 total
> > - age 8: 201968 bytes, 4144072 total
> > - age 9: 183752 bytes, 4327824 total
> > - age 10: 136480 bytes, 4464304 total
> > - age 11: 366208 bytes, 4830512 total
> > - age 12: 137296 bytes, 4967808 total
> > - age 13: 133592 bytes, 5101400 total
> > - age 14: 162232 bytes, 5263632 total
> > - age 15: 139984 bytes, 5403616 total
> > 1124550.652: [G1Ergonomics (CSet Construction) start choosing CSet,
> > _pending_cards: 21647, predicted base time: 37.96 ms, remaining time:
> > 162.04 ms, target pause time: 200.00 ms]
> > 1124550.652: [G1Ergonomics (CSet Construction) add young regions to
> > CSet, eden: 95 regions, survivors: 7 regions, predicted young region
> > time: 4.46 ms]
> > 1124550.652: [G1Ergonomics (CSet Construction) finish choosing CSet,
> > eden: 95 regions, survivors: 7 regions, old: 0 regions, predicted
> > pause time: 42.42 ms, target pause time: 200.00 ms]
> > 1124550.701: [G1Ergonomics (Concurrent Cycles) do not request
> > concurrent cycle initiation, reason: still doing mixed collections,
> > occupancy: 4064280576 bytes, allocation request: 0 bytes, threshold:
> > 1932735240 bytes (45.00 %), source: end of GC]
> > 1124550.701: [G1Ergonomics (Mixed GCs) start mixed GCs, reason:
> > candidate old regions available, candidate old regions: 285 regions,
> > reclaimable: 430117688 bytes (10.01 %), threshold: 10.00 %]
> > , 0.0494015 secs]
> > [Parallel Time: 43.7 ms, GC Workers: 4]
> > [GC Worker Start (ms): Min: 1124550651.8, Avg: 1124550668.7,
> > Max: 1124550674.3, Diff: 22.6]
> > [Ext Root Scanning (ms): Min: 0.1, Avg: 6.7, Max: 22.3, Diff:
> > 22.2, Sum: 26.8]
> > [Update RS (ms): Min: 9.9, Avg: 11.0, Max: 12.3, Diff: 2.5, Sum:
> > 44.0]
> > [Processed Buffers: Min: 39, Avg: 40.3, Max: 41, Diff: 2,
> > Sum: 161]
> > [Scan RS (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 0.2]
> > [Object Copy (ms): Min: 8.6, Avg: 8.9, Max: 9.6, Diff: 1.0, Sum:
> > 35.6]
> > [Termination (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum:
> > 0.3]
> > [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.0,
> > Sum: 0.2]
> > [GC Worker Total (ms): Min: 21.1, Avg: 26.8, Max: 43.7, Diff:
> > 22.6, Sum: 107.1]
> > [GC Worker End (ms): Min: 1124550695.4, Avg: 1124550695.5, Max:
> > 1124550695.5, Diff: 0.0]
> > [Code Root Fixup: 0.0 ms]
> > [Clear CT: 0.1 ms]
> > [Other: 5.6 ms]
> > [Choose CSet: 0.0 ms]
> > [Ref Proc: 4.5 ms]
> > [Ref Enq: 0.1 ms]
> > [Free CSet: 0.3 ms]
> > [Eden: 190.0M(190.0M)->0.0B(190.0M) Survivors: 14.0M->14.0M Heap:
> > 4077.0M(4096.0M)->3887.1M(4096.0M)]
> > [Times: user=0.11 sys=0.00, real=0.05 secs]
> > 2014-08-06T04:47:45.545-0700: 1124606.686: [GC pause (mixed)
> > Desired survivor size 13631488 bytes, new threshold 15 (max 15)
> > - age 1: 1323232 bytes, 1323232 total
> > - age 2: 716576 bytes, 2039808 total
> > - age 3: 1058584 bytes, 3098392 total
> > - age 4: 225208 bytes, 3323600 total
> > - age 5: 447688 bytes, 3771288 total
> > - age 6: 195112 bytes, 3966400 total
> > - age 7: 178000 bytes, 4144400 total
> > - age 8: 156904 bytes, 4301304 total
> > - age 9: 193424 bytes, 4494728 total
> > - age 10: 176272 bytes, 4671000 total
> > - age 11: 134768 bytes, 4805768 total
> > - age 12: 138896 bytes, 4944664 total
> > - age 13: 132272 bytes, 5076936 total
> > - age 14: 132856 bytes, 5209792 total
> > - age 15: 161912 bytes, 5371704 total
> > 1124606.686: [G1Ergonomics (CSet Construction) start choosing CSet,
> > _pending_cards: 20335, predicted base time: 38.61 ms, remaining time:
> > 161.39 ms, target pause time: 200.00 ms]
> > 1124606.686: [G1Ergonomics (CSet Construction) add young regions to
> > CSet, eden: 95 regions, survivors: 7 regions, predicted young region
> > time: 4.53 ms]
> > 1124606.686: [G1Ergonomics (CSet Construction) finish adding old
> > regions to CSet, reason: reclaimable percentage not over threshold,
> > old: 1 regions, max: 205 regions, reclaimable: 428818280 bytes (9.98
> > %), threshold: 10.00 %]
> > 1124606.686: [G1Ergonomics (CSet Construction) finish choosing CSet,
> > eden: 95 regions, survivors: 7 regions, old: 1 regions, predicted
> > pause time: 45.72 ms, target pause time: 200.00 ms]
> > 1124606.731: [G1Ergonomics (Heap Sizing) attempt heap expansion,
> > reason: region allocation request failed, allocation request: 1048576
> > bytes]
> > 1124606.731: [G1Ergonomics (Heap Sizing) expand the heap, requested
> > expansion amount: 1048576 bytes, attempted expansion amount: 2097152
> > bytes]
> > 1124606.731: [G1Ergonomics (Heap Sizing) did not expand the heap,
> > reason: heap expansion operation failed]
> > 1124606.743: [G1Ergonomics (Concurrent Cycles) do not request
> > concurrent cycle initiation, reason: still doing mixed collections,
> > occupancy: 4095737856 bytes, allocation request: 0 bytes, threshold:
> > 1932735240 bytes (45.00 %), source: end of GC]
> > 1124606.743: [G1Ergonomics (Mixed GCs) do not continue mixed GCs,
> > reason: reclaimable percentage not over threshold, candidate old
> > regions: 284 regions, reclaimable: 428818280 bytes (9.98 %),
> > threshold: 10.00 %]
> > (to-space exhausted), 0.0568178 secs]
> > [Parallel Time: 40.4 ms, GC Workers: 4]
> > [GC Worker Start (ms): Min: 1124606686.1, Avg: 1124606701.7,
> > Max: 1124606723.8, Diff: 37.7]
> > [Ext Root Scanning (ms): Min: 0.1, Avg: 6.3, Max: 16.1, Diff:
> > 16.1, Sum: 25.4]
> > [Update RS (ms): Min: 0.0, Avg: 9.6, Max: 13.3, Diff: 13.3, Sum:
> > 38.6]
> > [Processed Buffers: Min: 0, Avg: 37.5, Max: 52, Diff: 52,
> > Sum: 150]
> > [Scan RS (ms): Min: 0.0, Avg: 0.3, Max: 0.4, Diff: 0.4, Sum: 1.1]
> > [Object Copy (ms): Min: 2.6, Avg: 8.4, Max: 11.1, Diff: 8.5,
> > Sum: 33.7]
> > [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum:
> > 0.0]
> > [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0,
> > Sum: 0.1]
> > [GC Worker Total (ms): Min: 2.7, Avg: 24.7, Max: 40.4, Diff:
> > 37.7, Sum: 98.9]
> > [GC Worker End (ms): Min: 1124606726.5, Avg: 1124606726.5, Max:
> > 1124606726.5, Diff: 0.0]
> > [Code Root Fixup: 0.0 ms]
> > [Clear CT: 0.1 ms]
> > [Other: 16.3 ms]
> > [Choose CSet: 0.0 ms]
> > [Ref Proc: 7.7 ms]
> > [Ref Enq: 0.2 ms]
> > [Free CSet: 0.3 ms]
> > [Eden: 190.0M(190.0M)->0.0B(188.0M) Survivors: 14.0M->16.0M Heap:
> > 4077.1M(4096.0M)->3921.6M(4096.0M)]
> > [Times: user=0.11 sys=0.00, real=0.06 secs]
> > 2014-08-06T04:49:57.698-0700: 1124739.058: [GC pause (young)
> > Desired survivor size 13631488 bytes, new threshold 15 (max 15)
> > - age 1: 1130192 bytes, 1130192 total
> > - age 2: 492816 bytes, 1623008 total
> > - age 3: 675240 bytes, 2298248 total
> > - age 4: 1038536 bytes, 3336784 total
> > - age 5: 208048 bytes, 3544832 total
> > - age 6: 436520 bytes, 3981352 total
> > - age 7: 184528 bytes, 4165880 total
> > - age 8: 165376 bytes, 4331256 total
> > - age 9: 154872 bytes, 4486128 total
> > - age 10: 179016 bytes, 4665144 total
> > - age 11: 167760 bytes, 4832904 total
> > - age 12: 132056 bytes, 4964960 total
> > - age 13: 138736 bytes, 5103696 total
> > - age 14: 132080 bytes, 5235776 total
> > - age 15: 132856 bytes, 5368632 total
> > 1124739.058: [G1Ergonomics (CSet Construction) start choosing CSet,
> > _pending_cards: 44501, predicted base time: 51.94 ms, remaining time:
> > 148.06 ms, target pause time: 200.00 ms]
> > 1124739.058: [G1Ergonomics (CSet Construction) add young regions to
> > CSet, eden: 87 regions, survivors: 8 regions, predicted young region
> > time: 4.37 ms]
> > 1124739.058: [G1Ergonomics (CSet Construction) finish choosing CSet,
> > eden: 87 regions, survivors: 8 regions, old: 0 regions, predicted
> > pause time: 56.32 ms, target pause time: 200.00 ms]
> > 1124739.060: [G1Ergonomics (Heap Sizing) attempt heap expansion,
> > reason: region allocation request failed, allocation request: 1048576
> > bytes]
> > 1124739.060: [G1Ergonomics (Heap Sizing) expand the heap, requested
> > expansion amount: 1048576 bytes, attempted expansion amount: 2097152
> > bytes]
> > 1124739.060: [G1Ergonomics (Heap Sizing) did not expand the heap,
> > reason: heap expansion operation failed]
> > 1124739.252: [G1Ergonomics (Concurrent Cycles) request concurrent
> > cycle initiation, reason: occupancy higher than threshold, occupancy:
> > 4294967296 bytes, allocation request: 0 bytes, threshold: 1932735240
> > bytes (45.00 %), source: end of GC]
> > (to-space exhausted), 0.1936102 secs]
> > [Parallel Time: 146.6 ms, GC Workers: 4]
> > [GC Worker Start (ms): Min: 1124739058.5, Avg: 1124739061.6,
> > Max: 1124739063.0, Diff: 4.4]
> > [Ext Root Scanning (ms): Min: 0.2, Avg: 7.0, Max: 14.3, Diff:
> > 14.0, Sum: 28.2]
> > [Update RS (ms): Min: 4.8, Avg: 10.7, Max: 17.6, Diff: 12.8,
> > Sum: 42.7]
> > [Processed Buffers: Min: 47, Avg: 56.3, Max: 69, Diff: 22,
> > Sum: 225]
> > [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.0, Sum: 0.2]
> > [Object Copy (ms): Min: 113.1, Avg: 125.6, Max: 137.6, Diff:
> > 24.5, Sum: 502.5]
> > [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum:
> > 0.2]
> > [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0,
> > Sum: 0.1]
> > [GC Worker Total (ms): Min: 142.1, Avg: 143.5, Max: 146.5, Diff:
> > 4.4, Sum: 573.8]
> > [GC Worker End (ms): Min: 1124739205.1, Avg: 1124739205.1, Max:
> > 1124739205.1, Diff: 0.0]
> > [Code Root Fixup: 0.0 ms]
> > [Clear CT: 0.1 ms]
> > [Other: 46.9 ms]
> > [Choose CSet: 0.0 ms]
> > [Ref Proc: 1.0 ms]
> > [Ref Enq: 0.1 ms]
> > [Free CSet: 0.2 ms]
> > [Eden: 174.0M(188.0M)->0.0B(204.0M) Survivors: 16.0M->0.0B Heap:
> > 4095.6M(4096.0M)->4095.6M(4096.0M)]
> > [Times: user=0.36 sys=0.00, real=0.19 secs]
> > 1124739.259: [G1Ergonomics (Concurrent Cycles) initiate concurrent
> > cycle, reason: concurrent cycle initiation requested]
> > 2014-08-06T04:49:57.898-0700: 1124739.259: [GC pause (young)
> > (initial-mark)
> > Desired survivor size 13631488 bytes, new threshold 15 (max 15)
> > 1124739.259: [G1Ergonomics (CSet Construction) start choosing CSet,
> > _pending_cards: 322560, predicted base time: 205.33 ms, remaining
> > time: 0.00 ms, target pause time: 200.00 ms]
> > 1124739.259: [G1Ergonomics (CSet Construction) add young regions to
> > CSet, eden: 0 regions, survivors: 0 regions, predicted young region
> > time: 0.00 ms]
> > 1124739.259: [G1Ergonomics (CSet Construction) finish choosing CSet,
> > eden: 0 regions, survivors: 0 regions, old: 0 regions, predicted pause
> > time: 205.33 ms, target pause time: 200.00 ms]
> > , 0.0347198 secs]
> > [Parallel Time: 33.1 ms, GC Workers: 4]
> > [GC Worker Start (ms): Min: 1124739259.3, Avg: 1124739259.3,
> > Max: 1124739259.3, Diff: 0.0]
> > [Ext Root Scanning (ms): Min: 5.5, Avg: 7.7, Max: 11.0, Diff:
> > 5.4, Sum: 30.6]
> > [Update RS (ms): Min: 18.4, Avg: 19.8, Max: 20.6, Diff: 2.2,
> > Sum: 79.4]
> > [Processed Buffers: Min: 293, Avg: 315.3, Max: 350, Diff: 57,
> > Sum: 1261]
> > [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]
> > [Object Copy (ms): Min: 1.6, Avg: 5.4, Max: 6.9, Diff: 5.3, Sum:
> > 21.7]
> > [Termination (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum:
> > 0.4]
> > [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0,
> > Sum: 0.1]
> > [GC Worker Total (ms): Min: 33.0, Avg: 33.0, Max: 33.1, Diff:
> > 0.1, Sum: 132.1]
> > [GC Worker End (ms): Min: 1124739292.3, Avg: 1124739292.3, Max:
> > 1124739292.3, Diff: 0.0]
> > [Code Root Fixup: 0.0 ms]
> > [Clear CT: 0.1 ms]
> > [Other: 1.5 ms]
> > [Choose CSet: 0.0 ms]
> > [Ref Proc: 1.0 ms]
> > [Ref Enq: 0.1 ms]
> > [Free CSet: 0.0 ms]
> > [Eden: 0.0B(204.0M)->0.0B(204.0M) Survivors: 0.0B->0.0B Heap:
> > 4095.6M(4096.0M)->4095.6M(4096.0M)]
> > [Times: user=0.12 sys=0.00, real=0.04 secs]
> > 2014-08-06T04:49:57.933-0700: 1124739.294: [GC
> > concurrent-root-region-scan-start]
> > 2014-08-06T04:49:57.933-0700: 1124739.294: [GC
> > concurrent-root-region-scan-end, 0.0000157 secs]
> > 2014-08-06T04:49:57.933-0700: 1124739.294: [GC concurrent-mark-start]
> > 1124739.295: [G1Ergonomics (Heap Sizing) attempt heap expansion,
> > reason: allocation request failed, allocation request: 80 bytes]
> > 1124739.295: [G1Ergonomics (Heap Sizing) expand the heap, requested
> > expansion amount: 2097152 bytes, attempted expansion amount: 2097152
> > bytes]
> > 1124739.295: [G1Ergonomics (Heap Sizing) did not expand the heap,
> > reason: heap expansion operation failed]
> > 2014-08-06T04:49:57.934-0700: 1124739.295: [Full GC
> > 4095M->2235M(4096M), 10.5341003 secs]
> > [Eden: 0.0B(204.0M)->0.0B(1436.0M) Survivors: 0.0B->0.0B Heap:
> > 4095.6M(4096.0M)->2235.4M(4096.0M)]
> > [Times: user=13.20 sys=0.03, real=10.52 secs]
>
> >
> >
> >
> >
> > _______________________________________________
> > hotspot-gc-use mailing list
> > hotspot-gc-use at openjdk.java.net <mailto:hotspot-gc-use at openjdk.java.net>
> > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
>
>
>
>
>
>
> _______________________________________________
> hotspot-gc-use mailing list
> hotspot-gc-use at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20140807/00566697/attachment-0001.html>
More information about the hotspot-gc-use
mailing list