Como liberar memoria en Linux

Introducción

Es muy usual tener memoria RAM ocupada por datos temporales (buffers, caches, memoria compartida)
Aún mas en servidores privados que utilizan discos duros externos SCSI que no se encuentren dentro de la maquina, sino que es externo (en otra sala/data center, etc).


Ver memoria en uso:

Usando el comando free, seguido del argumento -m (free -m) podemos ver la memoria en MegaBytes

servidor:~# free -m
total       used       free     shared    buffers     cached
Mem:           482        468         13          0          6              215

Liberando memoria:

Identificate como administrador (no todos los usuarios pueden liberarla con sudo), para ello utiliza el comando:
su –
ahora, existen tres “tipos” de memoria que podemos liberar, según el número podremos liberar unas o otras (o todas)
0: Nada.
1: Caché de páginas.
2: Representación de ficheros y directorios y entradas de directorios y componentes de un path.
3: Libera todo (1+2)

Recomiendo liberar todo, ejecuta el siguiente comando:
echo 3 > /proc/sys/vm/drop_caches

Ver efecto:
de nuevo free -m
total       used       free     shared    buffers     cached
Mem:           482        259        222          0          0             15

Realizarlo de forma periódica con crontab:
3,18,33,48 * * * * sync; echo 3 > /proc/sys/vm/drop_caches

Nota: el sync se encarga de limpiar completamente la cache.

Share

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.