Limpando o cache do seu Linux (de forma real)

Publicado por Marco Carvalho de Oliveira em 04/11/2008

[ Hits: 27.011 ]

Blog: http://demoncyber.wordpress.com/

 


Limpando o cache do seu Linux (de forma real)



Geralmente me deparo com um problema da memória do meu computador, ela enche, não a física mas sim a de cache. Meu sistema inicia com uns 80MB de RAM com o KDE, mas o nosso amigo Firefox X.X tem o costume de alocar muita memória e não saber desalocar, e questões como não limpar o histórico de downloads e o histórico de páginas faz isso aumentar. Portanto ao abrir outros softwares o sistema fica lento. Para resolver este problema há algum tempo atrás vi um post do SMarcell no fórum brasileiro do Slackware Linux.

Segue a solução:

# echo 3 > /proc/sys/vm/drop_caches

Inclusive conversando com o SMarcell ele me passou um script que ele usa no cron para limpar a memória quando ela está cheia, segue o código:

#!/bin/sh
#
# Salve este script no diretório /etc/cron.hourly e dê permissão
# de execução a ele. Desse modo a cada hora sera verificada se a
# porcentagem de memória utilizada pelo sistema atingiu o valor definido
# na variável 'percent'. Caso positivo, o script informará ao kernel
# que este deverá alterar o valor da opção 'drop_caches' para 3.
#
# Mais detalhes: 'man proc' -> /proc/sys/vm/drop_caches.

PATH="/bin:/usr/bin:/usr/local/bin"

# Porcentagem máxima de uso da memória, antes de executar a limpeza:
# Obs.: Altere conforme sua necessidade.
percent=80

# Quantidade de memória RAM no sistema:
ramtotal=`grep -F "MemTotal:" < /proc/meminfo | awk '{print $2}'`
# Quantidade de RAM livre:
ramlivre=`grep -F "MemFree:" < /proc/meminfo | awk '{print $2}'`

# RAM utilizada pelo sistema:
ramusada=`expr $ramtotal - $ramlivre`

# Porcentagem de RAM utilizada pelo sistema:
putil=`expr $ramusada \* 100 / $ramtotal`

# Checando porcentagem:
if [ $putil -gt $percent ]
then
   # Sincronizando os dados cacheados na memória com o(s) disco(s):
   sync
   # 'Dropando' cache:
   echo 3 > /proc/sys/vm/drop_caches
else
   # Remove-se as variáveis da memória e finaliza-se o script:
   unset percent ramtotal ramlivre ramusada putil
   exit $?
fi # Fim

Agradecimentos :) SMarcell

Referências:

Limpando memória cache - Por SMarcell em SlackBR Fórum

man proc

Outras dicas deste autor

AST - Criando slackbuilds no Slackware

Teclas de atalhos para janelas no Vim

Como extrair o conteúdo de pacotes deb em qualquer distro

Documentação de redes no Slackware

Instalando Gnome, OpenOffice 3 e Firefox 3 no Slackware 12.1

Leitura recomendada

II Oficina Livre em MG

Removendo opção inválida "KDE" da lista de sessões da tela de login do GDM

Dois ambientes gráficos no mesmo Linux

Criando uma chave privada (OpenVPN)

Skype + Webcam usando X11 no lugar do XV com o Driver SIS 671 em Debian/Ubuntu

  

Comentários
[1] Comentário enviado por SmithuX em 04/11/2008 - 12:57h

Dá só uma olhada....

http://www.vivaolinux.com.br/dica/Limpando-a-memoria-cache-no-Linux/

[2] Comentário enviado por lcnrj em 04/11/2008 - 13:40h

Legal! Parece bem completo.
Eu uso esse script aqui, é o mesmo comando num script mais simples, que encontrei pesquisando por ai. Coloquei ele para ser realizado de hora em hora no cron ( salvo em /usr/bin/limpacache.sh e permissões chmod a+x /usr/bin/limpacache.sh ). Para usar manualmente: sudo limpacache.sh
Funciona mesmo.
===============================
#!/bin/bash
#limpando cache

#o seguinte comando é o responsável pela limpeza
echo 3 > /proc/sys/vm/drop_caches
===============================

[3] Comentário enviado por bigbruno em 29/03/2009 - 06:41h

Gostei do script, pretendo incluir na distribuicao BigLinux, qual nome devo incluir no cabecalho para que o autor do script tenha seus creditos mantidos?

[4] Comentário enviado por QuestLoder em 18/09/2009 - 19:25h

Show de bola para parabens


[5] Comentário enviado por removido em 06/02/2010 - 16:40h

Fera, vocẽ foi muito feliz nessa dica, vlw mesmo!
Abraço.

[6] Comentário enviado por Matz em 01/07/2015 - 15:26h


Resolveu definitivo os problemas de cache..
Parabéns e obrigado ..



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts