Limpando a memória cache no Linux

Publicado por Phillipe Smith em 18/06/2008

[ Hits: 210.175 ]

Blog: http://phillipelnx.com

 


Limpando a memória cache no Linux



Pessoal, já percebi que muitos usuários de Linux tem problemas com a identificação e manuseio da memória no Linux.

O maior problema é quando o comando "free" é usado e o usuário percebe que o sistema está utilizando um absurdo da memória.

Mas o que muitos não percebem é que na verdade o Linux não utiliza uma grande quantidade de memória para acessar os aplicativos... O que acontece é que cada aplicativo aberto, quando fechado, o Linux guarda um espaço na memória para que aquele programa seja aberto de forma muito mais rápida. Esse processo é o famoso "CACHE".

No entanto, nem sempre é útil deixar que a memória cache guarde esse espaço, então o que muitos fazem para que sua memória volte ao normal é reiniciar o computador.

Isso também não seria necessário!!!

Os comandos abaixo fazem uma limpeza da memória cache sem que você precise reiniciar o micro. Apreciem!

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

# sysctl -w vm.drop_caches=3


Aqui estão os links dos locais onde essas belezinhas podem ser explicadas mais detalhadamente:
Abraço a todos!!!

Outras dicas deste autor

Passagem de parâmetros para funções shell script

Substituição avançada de texto no Vi/Vim

Video Converter: Convertendo vídeos no Linux facilmente

Posicionando o AWN (Avant Window Navigator)

Lakka - Uma distro para games retrô

Leitura recomendada

Propaganda do Linux feita pela IBM com legendas

Personalizando seu próprio prompt de comando

Problemas com vídeos piscando no modo OpenGL? Ubuntu 10.04 resolve!

Abrir arquivos .mht no Firefox

Ativando o numlock na inicializaçao do X - Debian

  

Comentários
[1] Comentário enviado por albfneto em 18/06/2008 - 17:13h

tenho uma sugestão. que tal um simples script para apagar o cache e os arquivos temporários?

[2] Comentário enviado por SmithuX em 18/06/2008 - 17:55h

Pois é... Já postei aqui um script pra efetuar esse procedimento de limpeza da memória cache....
Só que ainda não foi publicado!!!

[3] Comentário enviado por SMarcell em 21/06/2008 - 02:49h

Só lembrando que a primeira opção:

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

só funcionará no kernel a partir da versão 2.6.16.

[4] Comentário enviado por SmithuX em 21/06/2008 - 12:55h

Valeu por lembrar SMarcell!!!

[5] Comentário enviado por maran em 03/07/2008 - 09:45h

Bom, favoritos né ;)

[6] Comentário enviado por kalib em 14/07/2008 - 16:55h

Opa..grande archsmith.. ;]

Putz..nem tinha visto tua dica..se tivesse visto teria pulado direto para a segunda..que mandei hoje...em breve deve estar sendo publicada...mas segue essa mesma linha. ;]

Se já quizer ir adiantando...já tá no meu blog: http://blog.marcelocavalcante.net

abraço

[7] Comentário enviado por alainx2 em 09/06/2009 - 19:49h

ai mais uma coisa a opção 1
# echo 3 > /proc/sys/vm/drop_caches
da com permissão negada
mesmo em sudo da isso e ain
uso o ubuntu 9,04

[8] Comentário enviado por Smithux em 09/06/2009 - 20:45h

alainx2, você tentou como root, sem ser o sudo?
E a segunda opção deu certo?
Se sim, não importa qual você use, o resultado é o mesmo.

[9] Comentário enviado por rodriguescj em 23/07/2009 - 10:42h

Ola PessoALL

Por favor estou com muma verssão do SUSE, verssão 09

Quando tento acessar este parametro ele me diz que não existe o arquivo

cjr:~ # cat /etc/*leas*
SUSE LINUX Enterprise Server 9 (x86_64)
VERSION = 9
PATCHLEVEL = 4
LSB_VERSION="core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64"
cat: /etc/lsb-release.d: Is a directory

cjr:/so_ibm/scripts # echo 3 > /proc/sys/vm/drop_caches
-bash: /proc/sys/vm/drop_caches: No such file or directory

Alguem tem uma ideia? poi o cache esta muito alto e consumindo toda memoria, deixando a maquina lenta.
Obrigado.

[10] Comentário enviado por Smithux em 23/07/2009 - 11:19h

Tentou isso: # sysctl -w vm.drop_caches=3

[11] Comentário enviado por rodriguescj em 23/07/2009 - 12:34h

Tb tentei e apresenta a msg abaixo:

cjr:/so_ibm/scripts # sysctl -w vm.drop_caches=3
error: "vm.drop_caches" is an unknown key
You have new mail in /var/mail/root
cjr:/so_ibm/scripts #

Eu creio que deve ser a verssão do Kernel, ou a verssão do SUSE

Sera que existe uma outra forma de limpar este cahce?

Obrigado.

[12] Comentário enviado por Smithux em 25/07/2009 - 03:59h

Kra... nunca vi outra forma de limpar a memória cache não... Se tem eu não sei.

Se não me engano, esse problema é devido à versão do seu kernel.


[13] Comentário enviado por leandrojpg em 09/09/2009 - 14:20h

To precisando de tentar resolver esse problema, mas o meu kernel é 2.6.9-22.ELsmp #1 SMP Sat Oct 8 21:32:36 BST 2005 x86_64 x86_64 x86_64 GNU/Linux.

só que minha memória ja esta exaurida.

[14] Comentário enviado por Smithux em 09/09/2009 - 16:31h

Leandro, há um problema com os comandos do /proc e sysctl com kernels muito antigos.
Não sei se vou poder te ajudar muito, mas tenta achar/instalar um pacote chamado "procps"
Talvez esse pacote resolva o problema.

[15] Comentário enviado por removido em 01/06/2011 - 16:48h

Muito boa dica! Não é fácil lembrar todos estes truques.

[16] Comentário enviado por marceloviana em 28/08/2012 - 08:32h

Pessoal, qual o impacto para o Squid ao usar o comando em questão para limpar o cache?

Obrigado!

[17] Comentário enviado por mbrainiac em 03/09/2012 - 22:45h

pci bus error 2290 seria problema de cache?

[18] Comentário enviado por phoemur em 11/04/2013 - 15:03h

Postei um script pra limpar o cache

http://www.vivaolinux.com.br/script/Limpar-o-cache-da-memoria-RAM-apenas-quando-necessario

[19] Comentário enviado por rodolfosouzasp em 22/07/2013 - 10:59h

Excelente dica!!!

Boa Smith...

[20] Comentário enviado por kramersaunders em 12/02/2014 - 15:21h

Gostaria de saber a diferença entre os comandos abaixo:

echo 1 > /proc/sys/vm/drop_caches

echo 2 > /proc/sys/vm/drop_caches

echo 3 > /proc/sys/vm/drop_caches



Obrigado!

[21] Comentário enviado por Smithux em 12/02/2014 - 17:11h

Liberar o pagecache:
echo 1 > /proc/sys/vm/drop_caches

Liberar dentries e inodes:
echo 2 > /proc/sys/vm/drop_caches

Liberar pagecache, dentries e inodes:
echo 3 > /proc/sys/vm/drop_caches



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts