Quelle est la différence entre MemFree et MemAvailable dans / proc / meminfo

45

Vous pourriez voir quelque chose comme ça si vous 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
...

Quelle est la différence entre MemFree et MemAvailable?

Travis Reeder
la source

Réponses:

55

TL; DR:

MemFree: quantité de RAM physique, en kilo-octets, non utilisée par le système.

MemAvailable: une estimation de la quantité de mémoire disponible pour démarrer de nouvelles applications, sans permutation. Calculé à partir de MemFree, SReclaimable, de la taille des listes de fichiers LRU et des bas filigranes dans chaque zone. L'estimation tient compte du fait que le système a besoin d'un cache de page pour fonctionner correctement et que toutes les dalles récupérables ne seront pas récupérables en raison de l'utilisation des éléments. L'impact de ces facteurs variera d'un système à l'autre.

La réponse complète est ici:

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

Travis Reeder
la source