Al solucionar problemas de ralentización o mal comportamiento del sistema o de la aplicación, una de las primeras cosas que debe comprobar es el uso de memoria del sistema.
Este artículo explica cómo comprobar el uso de RAM en Linux usando varios comandos diferentes.
el comando gratuito #
free
es el comando más utilizado para comprobar el uso de memoria de un sistema Linux. Muestra información sobre la memoria total, usada y libre.
Generalmente, free
se invoca con la opción -h
que significa imprimir la salida en un formato legible por humanos:
free -h
total used free shared buff/cache availableMem: 3936 1087 252 130 2596 2427Swap: 0 0 0
Esto es lo que cada columna significa:
- total: La cantidad total de memoria que pueden usar las aplicaciones.
- usado-Memoria usada. Se calcula como:
used = total - free - buffers - cache
- Memoria libre / no utilizada.
- compartido: Esta columna se puede ignorar; solo se muestra para compatibilidad con versiones anteriores.
- buff / cache-La memoria combinada utilizada por los búferes del núcleo y la caché de páginas y las losas. Esta memoria se puede recuperar en cualquier momento si las aplicaciones la necesitan.
- disponible: Una estimación de la memoria disponible para iniciar nuevas aplicaciones, sin intercambiar.
El comandofree
imprime información para la memoria física y el intercambio del sistema.
comando superior #
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 memoria.
Para invocar el comando, simplemente escriba top
:
free -h
El resultado será algo parecido a esto:
en el encabezado de La salida incluye información sobre el sistema total, libre y física utilizada y la memoria de intercambio o swap.
La columna%MEM
proporciona información sobre el recurso compartido utilizado de la memoria física disponible para cada proceso en ejecución.
/ proc / meminfo #
La forma más sencilla de comprobar el uso de la memoria RAM es mostrar el contenido del archivo virtual /proc/meminfo
. Este archivo es utilizado por el free
top
ps
, y otra información del sistema de comandos.
Use less
o cat
para ver el contenido del archivo /proc/meminfo
:
cat /proc/meminfo
El archivo incluye una gran cantidad de información sobre la memoria del sistema y el uso de intercambio:
MemTotal: 4030592 kBMemFree: 401804 kBMemAvailable: 2507504 kB...
La información del archivo /proc/meminfo
se puede analizar y usar en scripts de shell.
ps_mem Script #
ps_mem
es un script de Python que informa el uso de memoria RAM por programa. Funciona con Python 2 y 3, y puede ser instalado con la etiqueta pip
:
sudo pip3 install ps_mem
Ejecutar 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 usedProgram... 11.9 MiB + 20.2 MiB = 32.1 MiBnginx (4) 8.2 MiB + 42.4 MiB = 50.6 MiBsystemd-journald 55.8 MiB + 307.2 MiB = 363.0 MiBphp-fpm7.4 (6)233.9 MiB + 234.0 MiB = 467.9 MiBredis-server578.2 MiB + 578.6 MiB = 1.1 GiBmysqld--------------------------------- 2.2 GiB=================================
Este script es útil cuando desea averiguar qué programa en ejecución consume la mayor parte de la memoria de su sistema.
Conclusión #
Le hemos mostrado varios comandos que puede utilizar para comprobar el uso de la memoria del sistema.