¿Cuál es la diferencia entre MemFree y MemAvailable en /proc/meminfo?

¿Cuál es la diferencia entre MemFree y MemAvailable en /proc/meminfo?

Es posible que veas algo como esto si cat /proc/meminfo:

MemTotal:        8078760 kB
MemFree:          629012 kB
MemAvailable:    1175568 kB
Buffers:          126184 kB
Cached:          2988512 kB
SwapCached:       261320 kB
Active:          4867796 kB
Inactive:        2119244 kB
Active(anon):    4465072 kB
Inactive(anon):  1895064 kB
Active(file):     402724 kB
Inactive(file):   224180 kB
Unevictable:       12068 kB
Mlocked:           12068 kB
SwapTotal:      16582652 kB
SwapFree:       13724816 kB
Dirty:               252 kB
Writeback:             0 kB
AnonPages:       3848816 kB
...

¿Cuál es la diferencia entre MemFree y MemAvailable?

Respuesta1

TL;DR:

MemFree: la cantidad de RAM física, en kilobytes, que el sistema deja sin utilizar.

MemAvailable: una estimación de cuánta memoria está disponible para iniciar nuevas aplicaciones, sin intercambiar. Calculado a partir de MemFree, SReclaimable, el tamaño de las listas LRU de archivos y las marcas de agua bajas en cada zona. La estimación tiene en cuenta que el sistema necesita algo de caché de páginas para funcionar bien y que no toda la losa recuperable será recuperable debido a los elementos que están en uso. El impacto de esos factores variará de un sistema a otro.

Elrespuesta completaes aquí:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773

información relacionada