RFR: 8234338: ZGC: Improve small heap usage
Per Liden
per.liden at oracle.com
Tue Nov 19 18:54:45 UTC 2019
When using small heaps (like less than 128M), the heap reserve tends to
take up a relatively large portion of the heap. We have quite a lot of
tests that explicitly set the heap size to small values (like -Xmx8M,
-Xmx16M, etc). Today, these tests often fail with OOME when using ZGC.
While ZGC isn't really that focused on tiny/small heaps, we still want
to make testing of ZGC easy without having to adjust these tests to use
a larger heap.
There are at least two things we can do when ZGC is given a small heap:
1) Dynamically scale the medium ZPage size, and even disable medium
pages all together when using tiny heaps.
2) Stop using per-CPU small pages for allocations, and instead switch to
using a single small page.
With this patch, ZGC can scale down to 8M.
Bug: https://bugs.openjdk.java.net/browse/JDK-8234338
Webrev: http://cr.openjdk.java.net/~pliden/8234338/webrev.0
Testing: Tier1-7 using ZGC. A new small heap test was also added.
/Per
More information about the hotspot-gc-dev
mailing list