[How To] Limpar a cache de memória e agendar no cron do Linux
A memória em cache no Linux é usada para acelerar as respostas do sistema. Porém acontece de a maquina precisar utilizar os recursos e acaba por não conseguir utilizar os recursos por causa da cache.
Neste tutorial vou mostrar como libertar a memória cache do linux sem precisar reiniciar a máquina.
OBS 1: Para seguir este tutorial deve estar como usuário root no seu Terminal de Comandos.
Para limpar a memória cache use o comando abaixo:
sync; echo 3 > /proc/sys/vm/drop_caches
Agora vamos agendar um script que faça esse trabalho de tempos em tempos no crontab.
Crie o script (memorycache.sh) com o nano ( ou podes usar o editor grafico como o gedit ):
No meu caso usei o Gedit:
root@def_linux:# gedit memorycache.sh
Dentro do ficheiro que acabamos de criar vamos escrever o seguinte comando (podemos fazer Copy&Past):
#!/bin/sh
sync; echo 3 > /proc/sys/vm/drop_caches
Agora temos de salvar o ficheiro e sair.
Após salvar o script temos de dar permissão "755", para isso vamos dar os seguintes comandos, (Continuando como usuário root):
cd /root/
root@def_linux:# chmod 755 memorycache.sh
Agora vamos editar o Crontab para definir-mos de quanto em quanto tempo será feita a limpeza da Memory Cache.
Para isso vamos usar o seguinte comando:
root@def_linux:# crontab -e
Depois de dar-mos o comando a cima, vamos até ao final do ficheiro, usamos o page down para o efeito.
Adicionamos no final o seguinte comando para agendar a limpeza de hora a hora (control + shift + v):
# Limpar cache de hora a hora
0 * * * * /root/memorycache.sh
Ou para agendar de 30 em 30 minutos:
# Limpar cache de 30 em 30 minutos
*/30 * * * * /root/memorycache.sh
OBS 2: Para quem não sabe o que é o Crontab, fica aqui um link onde podemos ler um artigo que explica o que é o Crontab:
Fontes deste [How To]: