Introducción
En los sistemas Linux, puede utilizar el free
para obtener un informe detallado sobre el uso de la memoria del sistema.
El free
proporciona información sobre la cantidad total de memoria física e intercambio, así como la memoria libre y usada y el espacio de intercambio en el sistema.
Cómo utilizar el comando gratuito
La sintaxis del free
es la siguiente:
free [OPTIONS]
Cuando se usa sin ninguna opción, el free
mostrará información de la memoria y cambiará a kibibyte. 1 kibibyte (KiB) son 1024 bytes.
free
La salida incluirá tres líneas, un encabezado, una línea de memoria y una línea de intercambio:
total used free shared buff/cache available
Mem: 1992092 168748 315148 652 1508196 1649648
Swap: 0 0 0
En versiones anteriores de Linux, el resultado puede ser ligeramente diferente.
Esto es lo que significa cada columna:
- total: este número representa la cantidad total de memoria que pueden utilizar las aplicaciones.
- used - Memoria usada. Se calcula como:
used = total - free - buffers - cache
- free: memoria libre /no utilizada.
- compartido: esta columna se puede ignorar ya que no tiene significado. Está aquí solo para compatibilidad con versiones anteriores.
- buff /cache: la memoria combinada utilizada por el kernel y la caché de página y los búferes de slabs. Esta memoria se puede recuperar en cualquier momento mediante aplicaciones. Si desea mostrar búferes y cachés en dos columnas separadas, use la opción
-w
- disponible: cantidad estimada de memoria disponible para iniciar nuevas aplicaciones, sin intercambiar.
Ver el uso de la memoria en formato legible por humanos
Como vimos en el ejemplo anterior, por defecto, el free
muestra la información de la memoria en kibibytes. Para mostrar la información en un formato legible por humanos (normalmente megabytes y gigabytes), use la opción -h
free -h
total used free shared buff/cache available
Mem: 1.9G 164M 307M 652K 1.4G 1.6G
Swap: 0B 0B 0B
Ver el uso de memoria en otras métricas
El free
también le permite especificar la unidad en la que se mide la memoria. Las opciones válidas son:
-b
,--bytes
: muestra la salida en bytes.--kilo
salida en kilobytes (1 KB = 1000 bytes).--mega
: muestra la salida en megabytes.--giga
: muestra la salida en gigabytes.--tera
salida en terabytes.-k
,--kibi
salida en kibibyte. (1 KiB = 1024 bytes). Ésta es la unidad predeterminada.-m
,--mebi
: muestra la salida en mebibytes.-g
,--gibi
: muestra la salida en gibytes.--tebi
: muestra la salida en tebibyte.--peti
: muestra la salida en pebibytes.--si
: en lugar de 1024, utilice valores de 1000. Por ejemplo,--mebi --si
es igual a--mega
.
Por ejemplo, para mostrar la salida en megabytes, escriba:
free --mega
total used free shared buff/cache available
Mem: 1992 167 315 0 1508 1650
Swap: 0 0 0
Muestra los totales de la columna.
Para mostrar una fila con los totales de las columnas, use la opción -t
Esto le dará una suma de la memoria e intercambiará las columnas total, usada y libre.
free -h -t
total used free shared buff/cache available
Mem: 7.7G 3.9G 483M 526M 3.4G 3.2G
Swap: 2.0G 0B 2.0G
Total: 9.7G 3.9G 2.5G
Imprime continuamente la salida
Para mostrar continuamente la información de la memoria en la pantalla, use las -s
, --seconds
seguidas de un número que especifique el retraso.
Por ejemplo, para imprimir la información de la memoria cada cinco segundos, tendría que ejecutar:
free -s 5
El free
seguirá mostrando el resultado hasta que presione CTRL+C
Esto es similar al comportamiento del comando de watch
Para mostrar el resultado para un número específico de veces, use la opción -c
, --count
En el siguiente ejemplo, el comando imprimirá el resultado diez veces:
free -s 5 -c 10
Conclusión
A estas alturas, debería tener un buen conocimiento de cómo utilizar e interpretar el comando free
Para ver todas las opciones de línea de comandos free
man free