Re: [RFC PATCH -mm] provide estimated available memory in/proc/meminfo

From: Andrew Morton
Date: Tue Nov 05 2013 - 17:45:36 EST


On Tue, 5 Nov 2013 17:38:52 -0500 Rik van Riel <riel@xxxxxxxxxx> wrote:

> Many load balancing and workload placing programs check /proc/meminfo
> to estimate how much free memory is available. They generally do this
> by adding up "free" and "cached", which was fine ten years ago, but
> is pretty much guaranteed to be wrong today.
>
> It is wrong because Cached includes memory that is not freeable as
> page cache, for example shared memory segments, tmpfs, and ramfs,
> and it does not include reclaimable slab memory, which can take up
> a large fraction of system memory on mostly idle systems with lots
> of files.
>
> Currently, the amount of memory that is available for a new workload,
> without pushing the system into swap, can be estimated from MemFree,
> Active(file), Inactive(file), and SReclaimable, as well as the "low"
> watermarks from /proc/zoneinfo.
>
> However, this may change in the future, and user space really should
> not be expected to know kernel internals to come up with an estimate
> for the amount of free memory.
>
> It is more convenient to provide such an estimate in /proc/meminfo,
> if things change in the future, we only have to change it in one
> place.
>

That's a good idea.

> fs/proc/meminfo.c | 36 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)

Documentation/filesystems/proc.txt told me it's feeling all offended.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/