RFR: 8347126: gc/stress/TestStressG1Uncommit.java gets OOM-killed
Guoxiong Li
gli at openjdk.org
Wed Jan 8 07:43:35 UTC 2025
On Tue, 7 Jan 2025 18:08:33 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> One of my testing nodes caught the OOM kill for the VM carrying the test. The default configuration turns the VM that test runs as the driver into a memory hog. On 48-core / 64G machine, the test configured itself to take 13 workers each allocating 1G. This ballooned the heap size to 13G -- e.g. about 25% of host memory -- which is well beyond the usual footprint for a single test VM (~2GB). Naturally, this runs into a high chance of being OOM killed under high test parallelism.
>
> I think the solution is to cut down the heap size we run with, and balance the number of workers a bit more finely. I looked around at sibling tests and 1G seems to be a common heap size for these tests.
test/hotspot/jtreg/gc/stress/TestStressG1Uncommit.java line 84:
> 82:
> 83: // Figure out suitable number of workers (~1 per 100M).
> 84: int allocationChunk = (int) Math.ceil((double) allocationSize * 100 / M);
If we want to use one worker per 100M, should the equation be `allocationSize / (100 * M)`? Did I miss anything?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22954#discussion_r1906618799
More information about the hotspot-gc-dev
mailing list