Liberar espacio de la memoria ram en gnu/linux

A partir del kernel 2.6.16 podemos liberar la ram con estos sencillos pasos:

Para liberar la cache de páginas físicas:

	echo 1 > /proc/sys/vm/drop_caches

Para liberar entradas de directorio e inodes:

	echo 2 > /proc/sys/vm/drop_caches

Para liberar todas las anteriores:

	echo 3 > /proc/sys/vm/drop_caches

Si andamos cortos de memoria RAM, podemos añadir una tarea en el cron para que por ejemplo cada 5 minutos los ejecute un script que libera la memoria ram:

Nos conectamos como root y creamos el script en: /root/scripts/free-ram.sh con el siguiente contenido:

#!/bin/bash
#sync; echo 1 > /proc/sys/vm/drop_caches
#sync; echo 2 > /proc/sys/vm/drop_caches
sync; echo 3 > /proc/sys/vm/drop_caches

Lo guardamos y ejecutamos el siguiente comando para que tengas permisos de ejecución:

chmod u+x /root/scripts/free-ram.sh

Y ahora ejecutamos este comando para editar las tareas programadas del cron:

crontab -e

Y añadimos la siguiente linea

*/5 * * * * /root/scripts/free-ram.sh

y guardamos el fichero.

Ya está todo preparado para que cada 5 minutos se libere la memoria ram.

Fuente: http://www.linuxinsight.com/proc_sys_vm_drop_caches.html

Post to Twitter

This entry was posted in Gnu / Linux, sysadmin and tagged , , , . Bookmark the permalink.

3 Responses to Liberar espacio de la memoria ram en gnu/linux

  1. HQH says:

    Excelente apunte

  2. Mario Zamora says:

    ¿no afecta que el cache se vacie en tan poco tiempo?

    • ZiTAL says:

      La verdad es que sí, pero es sólo un ejemplo de uso, podrías poner el cron por la noche o cuando se vea que el servidor tiene una actividad nula, pero la verdad es que no es aconsejable :)

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>