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


Excelente apunte
¿no afecta que el cache se vacie en tan poco tiempo?
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 :)