Use MemAvailable in /proc/meminfo for memory available to user. #19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
MemAvailable was recently introduced into the Linux kernel to simplify
estimating the amount of "memory available for starting new
applications, without swapping." This way user applications no longer
have to know how the kernel internally handles memory.
The previous way of calculating available memory produced erroneously large usages on Ubuntu 15.04. Ex, it indicated 42% usage when 36% was correct. (And this was only after I adjusted the code to skip the new MemAvailable entry - otherwise the wrong info is read from meminfo.) Using MemAvailable fixes the problem and agrees roughly with system monitor.
I am not sure which Linux kernel first introduced MemAvailable, but here is the relevant commit.