On Mon, 17 May 2021 17:17:00 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:

>> Hi all,
>> 
>> vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java fails on our 
>> many-core machines due to `-XX:MaxRAMPercentage=0`.
>> This is because `MaxRAMPercentage` will be always 0 if JTREG_JOBS > 25 [1].
>> 
>> It can be reproduced by: `make test 
>> TEST="vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java" 
>> JTREG="JOBS=26"` on almost all machines.
>> 
>> Setting `-XX:MaxRAMPercentage=0` on many-core machines seems unreasonable.
>> It would be better to fix it.
>> 
>> Thanks.
>> Best regards,
>> Jie
>> 
>> 
>> [1] https://github.com/openjdk/jdk/blob/master/make/RunTests.gmk#L741
>
> `-XX:MaxRAMPercentage` is actually `double`, so it can accept values below 1. 
> The last time I looked into trouble like this, it was a problem with doing 
> floating-point division in the make files -- not sure if something can be 
> done about that. 
> 
> But my point is that the failing test -- is that the only test that fails? -- 
> expects some heap size to accommodate Java allocations until the expected 
> Metaspace OOM happens. In that case, the fix should be in the test itself. 
> Because even if we do +1 to `MaxRAMPercentage`, it might still be not enough.

Thanks @shipilev and @erikj79 for your review and nice suggestions.

I filed JDK-8267293 to handle the test failure and will fix the unreasonable 
setting of MaxRAMPercentage in this PR.

-------------

PR: https://git.openjdk.java.net/jdk/pull/4062

Reply via email to