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, free
se invoca con la -h
opció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 free
comando imprime información para la memoria física y el intercambio del sistema.
top
Mando
top
es 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 %MEM
columna 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/meminfo
archivo virtual. Este archivo es utilizado por free
, top
, ps
y otros comandos de información del sistema.
Use less
o cat
para ver el contenido del /proc/meminfo
archivo:
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/meminfo
archivo 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_mem
requiere 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.
0 Comentarios