Limpando a memória cache no Linux

Publicado por Phillipe Smith em 18/06/2008

[ Hits: 210.714 ]

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

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

Lakka - Uma distro para games retrô

Posicionando o AWN (Avant Window Navigator)

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

Video Converter: Convertendo vídeos no Linux facilmente

Leitura recomendada

Adicionando esquemas de cores ao Geany

Dicas para o BitchX

IV Ciclo de Palestras sobre Software Livre CIRP - USP (arquivos e áudio do evento)

Jogos travando ao usar Compiz?

Extraindo referências de artigos acadêmicos ou científicos de arquivo .pdf para .txt

  

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