RFR: 8209894: ZGC: Cap number of GC workers based on heap size

Erik Helin erik.helin at oracle.com
Fri Aug 24 12:55:14 UTC 2018


On 08/24/2018 02:36 PM, Per Liden wrote:
> Hi,
> 
> Thanks for reviewing Erik. However, I reworked this a little bit. 
> Instead of using HeapSizePerGCThread, which has no real correlation with 
> the overhead per worker thread, I'm using a cap based on the percent of 
> the max heap size that we allow the reserve to occupied. The end result 
> is similar, i.e. we use a low number of threads on tiny heaps.
> 
> http://cr.openjdk.java.net/~pliden/8209894/webrev.1

This approach works fine as well, Reviewed.

Thanks,
Erik

> /Per
> 
> On 08/24/2018 09:35 AM, Erik Helin wrote:
>> On 08/23/2018 04:43 PM, Per Liden wrote:
>>> The ergonomics for selecting number of GC workers does not take 
>>> HeapSizePerGCThread into account. This is sub-optimal and can even 
>>> lead to pre-mature OOME when using a tiny heap on a very large 
>>> machine, since ZGC reserves 2M of the heap per GC worker.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8209894
>>> Webrev: http://cr.openjdk.java.net/~pliden/8209894/webrev.0
>>
>> Looks good to me, nice incremental improvement! Perhaps a future patch 
>> might want to look into re-evaluating these calculations at a 
>> safepoint in case number of CPUs/cores changes (like for virtual 
>> machines, containers, etc)?
>>
>> Thanks,
>> Erik
>>
>>> /Per



More information about the hotspot-gc-dev mailing list