si entiendo correctamente, en la siguiente salida producida por free, 3535m es la memoria libre real disponible para las aplicaciones, solo se usa 413m, ¿es correcto? necesita alguna aclaración sobre la diferencia entre Mem y -/+ buffers/cache fila.
free -m total used free shared buffers cached Mem: 3949 3854 95 0 9 3431 -/+ buffers/cache: 413 3535 Swap: 2047 1322 725
Respuesta aceptada:
El Mem: total
cifra es la cantidad total de RAM que pueden utilizar las aplicaciones. Esta es la RAM total instalada en el sistema, menos:
- memoria reservada por dispositivos de hardware (a menudo memoria de video si la tarjeta gráfica no tiene su propia RAM);
- memoria utilizada por el propio núcleo.
Ese total incluye:
free
:memoria que se usa actualmente para cualquier propósito;shared
:un concepto que ya no existe. Se deja en la salida por compatibilidad con versiones anteriores (hay scripts que analizan la salida defree
). (En los sistemas actuales, normalmente verá valores distintos de cero porqueshared
se ha reutilizado para mostrar la memoria que se comparte explícitamente a través de un mecanismo de memoria compartida. En sistemas más antiguos, incluía archivos asignados por más de un proceso y memoria compartida que permanecía compartida después defork()
.)buffers
:memoria que está respaldada por archivos y que se puede escribir en el disco si es necesario;cache
:memoria que está respaldada por archivos y que se puede recuperar en cualquier momento (la diferencia conbuffers
es que los búferes deben guardarse en el disco antes de que se reutilicen, mientras que el caché consiste en cosas que se pueden recargar desde el disco);used -buffers/cache
:memoria utilizada por las aplicaciones (y no paginada para intercambiar).
En un apuro, el sistema podría ejecutarse sin búferes ni caché, reservando RAM para aplicaciones y realizando lecturas y escrituras de disco sistemáticamente sin almacenamiento en caché. Los -/+ buffers/cache
las cifras indican la cantidad de RAM utilizada directamente por las aplicaciones (used
columna) y la cantidad de RAM no utilizada por las aplicaciones (free
columna).
Aunque esto puede variar mucho, un sistema saludable generalmente tiene alrededor de la mitad de su RAM dedicada a las aplicaciones y la mitad dedicada a los búferes y la memoria caché. A menos que esté ejecutando un servidor de archivos dedicado, su sistema tiene más RAM de la que necesita para lo que está haciendo actualmente. Si free - buffers/cache
Si la cifra fuera baja, eso indicaría un sistema que no tiene suficiente RAM (contrariamente a la creencia generalizada, tener mucha memoria dedicada a los búferes y la caché es importante para el rendimiento del sistema, y tratar de reservar más memoria para las aplicaciones generaría 99.99 % de sistemas más lentos).
El swap
La línea es sencilla, muestra la cantidad de intercambio que está en uso (ya sea por aplicaciones o por tmpfs
almacenamiento) y la cantidad que no lo es.