Was ist der Unterschied zwischen MemFree und MemAvailable in / proc / meminfo?

45

Sie könnten so etwas sehen, wenn Sie 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
...

Was ist der Unterschied zwischen MemFree und MemAvailable?

Travis Reeder
quelle

Antworten:

54

TL; DR:

MemFree: Die Größe des physischen Arbeitsspeichers in Kilobyte, die vom System nicht verwendet wird.

MemAvailable: Eine Schätzung der verfügbaren Speicherkapazität zum Starten neuer Anwendungen ohne Auslagerung. Berechnet aus MemFree, SReclaimable, der Größe der LRU-Dateilisten und den niedrigen Wasserzeichen in jeder Zone. Bei der Schätzung wird berücksichtigt, dass das System einen gewissen Seiten-Cache benötigt, um ordnungsgemäß zu funktionieren, und dass aufgrund der verwendeten Elemente nicht alle wiedergewinnbaren Platten wiedergewonnen werden können. Die Auswirkungen dieser Faktoren variieren von System zu System.

Die vollständige Antwort ist hier:

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

Travis Reeder
quelle