Limpando cache da memória RAM no GNU/Linux
Dica publicada em Linux / Comandos
Limpando cache da memória RAM no GNU/Linux
A memória RAM é um dos recursos mais importantes para que um computador funcione perfeitamente, e depois de vários dias ligados, dar uma reiniciada no servidor faz bem para que ele possa dar uma limpada nesses dados.
Mas é muito bom quando não precisamos fazer isso, uma vez que essa operação pode deixar alguns serviços indisponíveis, ou temos que ir trabalhar fora do horário, o que não é muito bom...
A minha dica neste post, é como deixar essa limpeza de forma automática, e sem precisar reiniciar o servidor.
O primeiro passo é criarmos um script, no caso, iremos criar este script direto em um diretório onde nosso script virará um "comando".
Iremos criar este script em /usr/local/bin, com o seguinte comando:
# pico /usr/local/bin/clean_memory
Este script ficará da seguinte maneira:
Obs.: o caminho da primeira linha pode variar de acordo com as distribuições, mas acredito que não mude muito.
Depois de criarmos o script, vamos dar permissão para que ele possa ser executado:
# chmod +x /usr/local/bin/clean_memory
Pronto, agora é só agendar o seu script para ser executado todos os dias à noite, por exemplo, ou simplesmente dar o comando clean_memory que o cache será limpo.
* Só não recomendo fazer isso quando o servidor estiver durante um pico de processamento, isso pode trazer alguns problemas.
Testado no Debian 6.
Veja essa e outras dicas em meu blog, onde posto dicas e soluções em infraestrutura de TI.
Mas é muito bom quando não precisamos fazer isso, uma vez que essa operação pode deixar alguns serviços indisponíveis, ou temos que ir trabalhar fora do horário, o que não é muito bom...
A minha dica neste post, é como deixar essa limpeza de forma automática, e sem precisar reiniciar o servidor.
O primeiro passo é criarmos um script, no caso, iremos criar este script direto em um diretório onde nosso script virará um "comando".
Iremos criar este script em /usr/local/bin, com o seguinte comando:
# pico /usr/local/bin/clean_memory
Este script ficará da seguinte maneira:
#!/bin/bash
echo 3 > /proc/sys/vm/drop_caches
sysctl -w vm.drop_caches=3
echo 3 > /proc/sys/vm/drop_caches
sysctl -w vm.drop_caches=3
Obs.: o caminho da primeira linha pode variar de acordo com as distribuições, mas acredito que não mude muito.
Depois de criarmos o script, vamos dar permissão para que ele possa ser executado:
# chmod +x /usr/local/bin/clean_memory
Pronto, agora é só agendar o seu script para ser executado todos os dias à noite, por exemplo, ou simplesmente dar o comando clean_memory que o cache será limpo.
* Só não recomendo fazer isso quando o servidor estiver durante um pico de processamento, isso pode trazer alguns problemas.
Testado no Debian 6.
Veja essa e outras dicas em meu blog, onde posto dicas e soluções em infraestrutura de TI.
Testei no Fedora, funcionou 100%. A única diferença é que coloquei o script no diretório /usr/local/sbin, por se tratar de uma tarefa administrativa do sistema.