RFR: 8334513: New test gc/TestAlwaysPreTouchBehavior.java is failing on MacOS aarch64

Matthias Baesken mbaesken at openjdk.org
Thu May 22 13:21:52 UTC 2025


On Thu, 22 May 2025 07:41:28 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

> I exhumed this old issue that fell through the cracks.
> 
> The test wants to make sure AlwaysPreTouch works by pretouching the java heap and comparing RSS with heap size. 
> 
> This technique is shaky: if the host machine experiences memory pressure, part of the pretouched memory will be swapped out before we measure RSS.
> 
> There is no way to make this bulletproof; still, this test is too useful to abandon it. Therefore I modified this test to make false positives (hopefully) very unlikely. See comment in test for details.
> 
> See old PR: https://github.com/openjdk/jdk/pull/19803

Looks good, maybe still wait a day or too for the tests,

src/hotspot/os/bsd/os_bsd.cpp line 147:

> 145: // Available here means free. Note that this number is of no much use. As an estimate
> 146: // for future memory pressure it is far too conservative, since MacOS will use a lot
> 147: // of unused memory for caches, and return it willingly in case of needs.

So we use only free_count but this is a bad estimate because it misses a number of categories.
There is a bit of discussion here
https://github.com/giampaolo/psutil/issues/1277
and at least  'Pages inactive' (vmstat.inactive_count  (Recently used, not currently needed)) should be added here .
Maybe also the speculative pages.
What do you think ?
Would be a separate JBS issue / PR I guess ?

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

Marked as reviewed by mbaesken (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25384#pullrequestreview-2860221768
PR Review Comment: https://git.openjdk.org/jdk/pull/25384#discussion_r2101919305


More information about the hotspot-dev mailing list