Re: computing drop-able caches

From: Daniel Walker
Date: Wed Feb 10 2016 - 13:05:04 EST


On 02/08/2016 12:57 PM, Khalid Mughal (khalidm) wrote:
How do we explain the discrepancy between MemAvaiable and MemFree count
after we drop cache? In following output, which one represents correct
data?

[Linux_0:/]$ cat /proc/meminfo
MemTotal: 3977836 kB
MemFree: 747832 kB
MemAvailable: 1441736 kB
Buffers: 123976 kB
Cached: 1210272 kB
Active: 2496932 kB
Inactive: 585364 kB
Active(anon): 2243932 kB
Inactive(anon): 142676 kB
Active(file): 253000 kB
Inactive(file): 442688 kB
Dirty: 44 kB
AnonPages: 1748088 kB
Mapped: 406512 kB
Shmem: 638564 kB
Slab: 65656 kB
SReclaimable: 30120 kB
SUnreclaim: 35536 kB
KernelStack: 5920 kB
PageTables: 19040 kB
CommitLimit: 1988916 kB
Committed_AS: 3765252 kB

[Linux_0:/]$ echo 3 > /proc/sys/vm/drop_caches
[Linux_0:/]$ cat /proc/meminfo
MemTotal: 3977836 kB
MemFree: 1095012 kB
MemAvailable: 1434148 kB

I suspect MemAvailable takes into account more than just the droppable caches. For instance, reclaimable slab is included, but I don't think drop_caches drops that part.

Daniel