Al solucionar problemas de ralentización o mal comportamiento del sistema o de la aplicación, una de las primeras cosas que debe verificar es el uso de la memoria del sistema.

Este artículo explica cómo verificar el uso de RAM en Linux usando varios comandos diferentes.

free Mando

free es el comando más utilizado para comprobar el uso de la memoria de un sistema Linux. Muestra información sobre la memoria total, utilizada y libre.

Generalmente, freese invoca con la -hopción que significa imprimir la salida en formato legible por humanos:

free -h
              total        used        free      shared  buff/cache   available
Mem:           3936        1087         252         130        2596        2427
Swap:             0           0           0

Esto es lo que significa cada columna:

  • total : 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.
  • compartida : esta columna se puede ignorar; se muestra solo por compatibilidad con versiones anteriores.
  • buff/cache : la memoria combinada utilizada por los búferes del kernel y el caché de página y los bloques. Esta memoria se puede recuperar en cualquier momento si las aplicaciones la necesitan.
  • disponible : una estimación de la memoria que está disponible para iniciar nuevas aplicaciones, sin intercambio.

El freecomando imprime información para la memoria física y el intercambio del sistema.

top Mando

topes una utilidad de línea de comandos que muestra información en tiempo real sobre los procesos en ejecución. También muestra el resumen del sistema, incluido el uso de la memoria.

Para invocar el comando simplemente escriba top:

top

La salida se verá algo como esto:

El encabezado de la salida incluye información sobre la memoria física y de intercambio total, libre y utilizada del sistema.

La %MEMcolumna proporciona información sobre el uso compartido de la memoria física disponible para cada proceso en ejecución.

/proc/meminfo

La forma más sencilla de verificar el uso de la memoria RAM es mostrar el contenido del /proc/meminfoarchivo virtual. Este archivo es utilizado por freetopps y otros comandos de información del sistema.

Use less o cat para ver el contenido del /proc/meminfoarchivo:

cat /proc/meminfo

El archivo incluye una gran cantidad de información sobre la memoria del sistema y el uso de intercambio:

MemTotal:        4030592 kB
MemFree:          401804 kB
MemAvailable:    2507504 kB
...

La información del /proc/meminfoarchivo se puede analizar y utilizar en scripts de shell.

ps_mem Texto

ps_mem es un script de Python que informa sobre el uso de la memoria RAM por programa. Funciona con Python 2 y 3 y se puede instalar con pip:

sudo pip3 install ps_mem

La ejecución ps_memrequiere privilegios de administrador:

sudo ps_mem

La salida incluirá el uso de memoria de cada programa en ejecución en orden ascendente:

 Private  +   Shared  =  RAM used	Program
...
 11.9 MiB +  20.2 MiB =  32.1 MiB	nginx (4)
  8.2 MiB +  42.4 MiB =  50.6 MiB	systemd-journald
 55.8 MiB + 307.2 MiB = 363.0 MiB	php-fpm7.4 (6)
233.9 MiB + 234.0 MiB = 467.9 MiB	redis-server
578.2 MiB + 578.6 MiB =   1.1 GiB	mysqld
---------------------------------
                          2.2 GiB
=================================

Este script es útil cuando desea averiguar qué programa en ejecución está ocupando la mayor parte de la memoria de su sistema.

Conclusión

Le mostramos varios comandos que puede usar para verificar el uso de la memoria del sistema.

Si tiene alguna pregunta o comentario, por favor deje un comentario a continuación.