Navegando por la red encontré un post dedicado a ello y lo que voy a decir no es diferente de lo que cuentan en la siguiente fuente.
Algunas veces el sistema no libera memoria RAM que ya no está siendo utilizada y aunque es liberada bajo demanda —por llamarle de alguna manera— cuando abrimos un nuevo programa, se puede liberar también de manera manual introduciendo un simple comando en nuestra consola.
Antes que nada, para saber cuánta memoria está en uso, cuánta está libre y cuánta está guardada en el caché ejecutamos el comando:
free -m
Para ver el uso en tiempo real utilizamos:
watch -n 1 free -m
Cualquiera de los dos comandos nos devolverá algo similar a esto:
total used free shared buffers cached Mem: 3990 3784 206 0 56 2443 -/+ buffers/cache: 1284 2705 Swap: 1027 0 1026
Como se puede observar hay una gran cantidad de memoria en el caché, de la cual aproximadamente la mitad está siendo utilizada por las aplicaciones abiertas. Para liberar páginas guardadas en el caché, inodos y entradas de directorio basta con ejecutar el comando:
sudo sync
Seguido de:
sudo sysctl -w vm.drop_caches=3
Es importante no olvidar ejecutar
sudo sync
pues de lo contrario podríamos perder información presente en la memoria RAM que aún no ha sido guardada en el disco duro.
Después de leer esto me decidí a crear un script ya que soy propenso a olvidar estos comandos .
Así que aquí os lo dejo el script, recordar darle permisos de ejecución.
un saludo.