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!!!
[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
Alex VirtualBoy em 01/06/2011 - 16:48h:
Muito boa dica! Não é fácil lembrar todos estes truques.