-
Notifications
You must be signed in to change notification settings - Fork 6k
8357570: [macOS] os::Bsd::available_memory() might return too low values #25657
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
👋 Welcome back mbaesken! A progress list of the required criteria for merging this PR into |
@MBaesken This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 79 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at the linked documentation this seems to make sense, although I have no means to check plausibility.
Maybe the comment before os::Bsd::available_memory could be modified/weakened a little bit because with the updated gathering it might be of some more use now... 😉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. But I'm not a memory management expert.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
The cited documentation suggests the fix is ok.
Thanks for the reviews ! /integrate |
Going to push as commit 7d7fc69.
Your commit was automatically rebased without conflicts. |
Currently os::Bsd::available_memory() returns on macOS
vmstat.free_count * os::vm_page_size();
But just using free_count is rather conservative because there are other memory categories on macOS that can be made available too. Unfortunately the different memory categories
There is a bit of additional information here https://developer.apple.com/forums/thread/118867
that confirms that free memory / free_count is only a fraction of what is available.
There is also some info here
https://developer.apple.com/library/archive/documentation/Performance/Conceptual/ManagingMemory/Articles/AboutMemory.html#//apple_ref/doc/uid/20001880-BCICIHAB
containing this relevant info :
"The inactive list contains pages that are currently resident in physical memory but have not been accessed recently. These pages contain valid data but may be removed from memory at any time. The free list contains pages of physical memory that are not associated with any address space of VM object. These pages are available for immediate use by any process that needs them."
and also about purgeable memory at
https://developer.apple.com/library/archive/documentation/Performance/Conceptual/ManagingMemory/Articles/CachingandPurgeableMemory.html#//apple_ref/doc/uid/TP40013104-SW1
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/25657/head:pull/25657
$ git checkout pull/25657
Update a local copy of the PR:
$ git checkout pull/25657
$ git pull https://git.openjdk.org/jdk.git pull/25657/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 25657
View PR using the GUI difftool:
$ git pr show -t 25657
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/25657.diff
Using Webrev
Link to Webrev Comment