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:
#1Comentá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?
#2Comentá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!!!
#3Comentá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.
#4Comentário enviado por SmithuX em 21/06/2008 - 12:55h
Valeu por lembrar SMarcell!!!
#5Comentário enviado por maran em 03/07/2008 - 09:45h
Bom, favoritos né ;)
#6Comentá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. ;]
#7Comentá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
#8Comentá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.
#9Comentá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.
#10Comentário enviado por Smithux em 23/07/2009 - 11:19h
Tentou isso: # sysctl -w vm.drop_caches=3
#11Comentá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.
#12Comentá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.
#13Comentá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.
#14Comentá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.
#15Comentário enviado por removido em 01/06/2011 - 16:48h
Muito boa dica! Não é fácil lembrar todos estes truques.
#16Comentá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!
#17Comentário enviado por mbrainiac em 03/09/2012 - 22:45h
pci bus error 2290 seria problema de cache?
#18Comentário enviado por phoemur em 11/04/2013 - 15:03h