Veuillez considérer l'exemple de sortie que j'ai obtenu de la free
commande dans mon Ubuntu 12.04
:
total used free shared buffers cached
Mem: 8074640 6187480 1887160 377056 365128 2113156
-/+ buffers/cache: 3709196 4365444
Swap: 15998972 82120 15916852
La valeur du champ Memused
(kb_main_used) est maintenant calculée comme suit:
used = total - free - cached - buffers
Auparavant, il s'agissait:
used = total - free
Cette modification a été introduite dans la validation suivante https://gitlab.com/procps-ng/procps/commit/6cb75efef85f735b72e6c96f197f358f511f8ed9
Une valeur intermédiaire:
buffers_plus_cached = buffers (kb_main_buffers) + cached (kb_main_cached) = 365128 + 2113156 = 2478284
+/- tampons / valeur de cache est calculé comme suit:
buffers = kb_main_used - buffers_plus_cached = 6187480 - 2478284 = 3709196
/
cache = kb_main_free + buffers_plus_cached = 1887160 + 2478284 = 4365444
La nouvelle valeur de buff / cache est calculée comme ceci:
buff/cache = kb_main_buffers+kb_main_cached = 365128 + 2113156 = 2478284
C'est le même que celui buffers_plus_cached
utilisé dans les versions précédentes, la différence est qu'avant, il était utilisé en interne, et maintenant son affiché directement, et la ligne calculée supplémentaire, -/+ buffers/cache
a été supprimée
Pour plus d'informations, veuillez vérifier ces validations, là où ces modifications ont été introduites:
https://gitlab.com/procps-ng/procps/commit/f47001c9e91a1e9b12db4497051a212cf49a87b1
https://gitlab.com/procps-ng/procps/commit/c9908b56129
Depuis le nouveau available
champ, pour les noyaux Linux antérieurs à 2.6.27, sa valeur est la même que la free
valeur, mais pour les versions ultérieures du noyau, c'est un peu différent:
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)
Courtoisie:
http://manpages.ubuntu.com/manpages/xenial/en/man1/free.1.html
Ainsi, la réponse spécifique à vos questions serait:
- La nouvelle version de
free
comprend des tampons / cache dans les calculs de Mem used/free
valeurs.
- La
+/- buffers/cache
valeur qui existait auparavant dans les versions précédentes de free
est désormais disponible sous la forme:
- - / + buffers / cache
used
= Mem used
Colonne courante (Son calcul est détaillé ci-dessus)
- - / + tampons / cache
free
est disponible comme valeur la plus précise dans la nouvelle colonne actuelleavailable
NB: Les kb_*
noms de variables sont les noms internes utilisés dans le code source.