Linux /proc/meminfo
shows a number of memory usage statistics.
MemTotal: 4040732 kB
MemFree: 23160 kB
Buffers: 163340 kB
Cached: 3707080 kB
SwapCached: 0 kB
Active: 1129324 kB
Inactive: 2762912 kB
There is quite a bit of overlap between them. For example, as far as I understand, there can be active page cache (belongs to "cached" and "active") and inactive page cache ("inactive" + "cached").
What I want to do is to measure "free" memory, but in a way that it includes used pages that are likely to be dropped without a significant impact on overall system's performance.
At first, I was inclined to use "free" + "inactive", but Linux's "free" utility uses "free" + "cached" in its "buffer-adjusted" display, so I am curious what a better approach is.
When the kernel runs out of memory, what is the priority of pages to drop and what is the more appropriate metric to measure available memory?