Bitte beachten Sie die Beispielausgabe, die ich vom free
Befehl in meinem erhalten habe Ubuntu 12.04
:
total used free shared buffers cached
Mem: 8074640 6187480 1887160 377056 365128 2113156
-/+ buffers/cache: 3709196 4365444
Swap: 15998972 82120 15916852
Der Feldwert Memused
(kb_main_used) wird jetzt folgendermaßen berechnet:
used = total - free - cached - buffers
Früher war es:
used = total - free
Diese Änderung wurde mit dem folgenden Commit eingeführt: https://gitlab.com/procps-ng/procps/commit/6cb75efef85f735b72e6c96f197f358f511f8ed9
Ein Zwischenwert:
buffers_plus_cached = buffers (kb_main_buffers) + cached (kb_main_cached) = 365128 + 2113156 = 2478284
+/- Puffer / Cache-Wert wird wie folgt berechnet:
buffers = kb_main_used - buffers_plus_cached = 6187480 - 2478284 = 3709196
/
cache = kb_main_free + buffers_plus_cached = 1887160 + 2478284 = 4365444
Der neue Buff / Cache-Wert wird folgendermaßen berechnet:
buff/cache = kb_main_buffers+kb_main_cached = 365128 + 2113156 = 2478284
Dies ist der gleiche buffers_plus_cached
Unterschied wie in früheren Versionen. Der Unterschied besteht darin, dass er zuvor intern verwendet wurde und jetzt direkt angezeigt wird und die weiter berechnete Zeile -/+ buffers/cache
entfernt wurde
Weitere Informationen finden Sie in den folgenden Commits, in denen diese Änderungen vorgenommen wurden:
https://gitlab.com/procps-ng/procps/commit/f47001c9e91a1e9b12db4497051a212cf49a87b1
https://gitlab.com/procps-ng/procps/commit/c990871a59
Ab dem neuen available
Feld ist der Wert für Linux-Kernel, die älter als 2.6.27 sind, derselbe wie der free
Wert, aber für die späteren Versionen des Kernels ist er etwas anders:
Estimation of how much memory is available for starting new
applications, without swapping. Unlike the data provided by the
cache or free fields, this field takes into account page cache
and also that not all reclaimable memory slabs will be reclaimed
due to items being in use (MemAvailable in /proc/meminfo,
available on kernels 3.14, emulated on kernels 2.6.27+,
otherwise the same as free)
Mit freundlicher Genehmigung:
http://manpages.ubuntu.com/manpages/xenial/en/man1/free.1.html
Die spezifische Antwort auf Ihre Fragen wäre also:
- Die neue Version von
free
bezieht Puffer / Cache in die Berechnung von Mem used/free
Werten ein.
- Der
+/- buffers/cache
Wert, der in früheren Versionen von vorhanden war, free
ist jetzt verfügbar als:
- - / + puffer / cache
used
= Aktuelle Mem used
Spalte (Berechnung wie oben beschrieben)
- - / + Puffer / Cache
free
ist als genauerer Wert in der aktuellen neuen Spalte verfügbaravailable
NB: Die kb_*
Variablennamen sind die internen Namen, die im Quellcode verwendet werden.