RFR: 8170737: Not enough old space utilisation
Michail Chernov
michail.chernov at oracle.com
Tue Jan 24 14:52:15 UTC 2017
Hi Dima,
Thanks for your response.
Updated webrev:
http://cr.openjdk.java.net/~mchernov/8170737/webrev.01/
Tests were refactored.
There were several problems:
1. Checking of jstat output consistency should not be performed during
GC cycles because it can cause to additional failures. There is checking
in GarbageProducerTestBase.java that during jstat execution were not any
GC cycles. Jstat gets performance counters values sequentially, so GC
cycles should be avoided.
2. New gen size should be limited, because there can be OOME while
eating 70% of heap on some configurations.
3. Tests failed to get expected old gen occupancy because background VM
activity can change real occupancy. Now tests check real heap occupancy
(using MXBean) and compares it with jstat output.
The testing is in progress.
Thanks,
Michail
On 13/01/2017 19:55, Dmitry Fazunenko wrote:
> Hi Michail,
>
> GarbageProducer tries to predict at the beginning how many objects to
> allocate later to achieve target memory usage percent.
> This way doesn't look like a good idea:
> - objects created by libraries (during initialization) may not be
> collected yet
> - eatMetaspace() besides allocating metaspace consumes some heap
> space, but this amount is not taken into account.
>
> Will it make sense to use MXBean for heap as well as for metaspace?
>
> Thanks,
> Dima
>
> ps: one more nit: "GarbageProducer{" - please insert a space.
>
> On 13.01.2017 14:56, Michail Chernov wrote:
>> Hi,
>>
>> Could I have a reviews for this change, please?
>>
>> http://cr.openjdk.java.net/~mchernov/8170737/webrev.00/
>> https://bugs.openjdk.java.net/browse/JDK-8170737
>>
>> Test fails because Runtime.maxMemory() results depends on the heap
>> size shrinking. So need to calculate the expected heap occupation
>> before a garbage allocation. Tests were updated accordingly. Also
>> GcProvokerImpl.java was removed because it was not removed on
>> previous commit by mistake.
>> Tested via RBT.
>>
>> Thanks,
>> Michail
>
>
More information about the hotspot-gc-dev
mailing list