Considere la salida de muestra que obtuve del free
comando en mi Ubuntu 12.04
:
total used free shared buffers cached
Mem: 8074640 6187480 1887160 377056 365128 2113156
-/+ buffers/cache: 3709196 4365444
Swap: 15998972 82120 15916852
El valor del campo Memused
(kb_main_used) ahora se calcula así:
used = total - free - cached - buffers
Anteriormente, solía ser:
used = total - free
Este cambio se introdujo en la siguiente confirmación https://gitlab.com/procps-ng/procps/commit/6cb75efef85f735b72e6c96f197f358f511f8ed9
Un valor intermedio:
buffers_plus_cached = buffers (kb_main_buffers) + cached (kb_main_cached) = 365128 + 2113156 = 2478284
El valor de +/- buffers / cache se calcula así:
buffers = kb_main_used - buffers_plus_cached = 6187480 - 2478284 = 3709196
/
cache = kb_main_free + buffers_plus_cached = 1887160 + 2478284 = 4365444
El nuevo valor de buff / cache se calcula así:
buff/cache = kb_main_buffers+kb_main_cached = 365128 + 2113156 = 2478284
Esto es lo mismo que buffers_plus_cached
, usado en versiones anteriores, la diferencia es que anteriormente se usaba internamente, y ahora se muestra directamente, y la línea calculada adicional, -/+ buffers/cache
se ha eliminado
Para obtener más información, verifique estas confirmaciones, donde se introdujeron estos cambios:
https://gitlab.com/procps-ng/procps/commit/f47001c9e91a1e9b12db4497051a212cf49a87b1
https://gitlab.com/procps-ng/procps/commit/c9908b59712d1af6ae6
A partir del nuevo available
campo, para los núcleos de Linux anteriores a 2.6.27, su valor es el mismo que el free
valor, pero para las versiones posteriores del núcleo, es un poco diferente:
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)
Cortesía:
http://manpages.ubuntu.com/manpages/xenial/en/man1/free.1.html
Entonces, la respuesta específica a sus preguntas sería:
- La nueva versión de
free
incluye buffers / cache en los cálculos de Mem used/free
valores.
- El
+/- buffers/cache
valor que solía estar allí en versiones anteriores de free
ahora está disponible como:
- - / + buffers / cache
used
= Mem used
Columna actual (Su cálculo se detalla más arriba)
- - / + buffers / cache
free
está disponible como el valor más preciso en la nueva columna actualavailable
Nota: Los kb_*
nombres de las variables son los nombres internos utilizados en el código fuente.