freemem, libere a sua memoria cache!

Iniciado por Petrov, 12 de Abril de 2010, 20:55

tópico anterior - próximo tópico

Petrov

galera, hoje eu fiz um programinha bastante simples porem um tanto útil pra quem tem pouca memoria.

la no laboratorio da facu, os pcs tem menos que 512 de memoria, o que eu tava tinha 488MB de memoria, dai chegava uma hora que ele nem abria mais janelas e ai eu tnha que ficar digitando o comando pra liberar memoria cache...
entao eu automatizei a coisa, eu utilizei o vim pra escrever:

#!/bin/bash

echo " "
echo " Selecione a opcao desejada:"
echo " s  - mostragem  simples  do resultado;"
echo " d  - mostragem detalhada do resultado."
read opcao

if [ "$opcao" = "s" ]
then
   echo " Limpando a memoria..."
   sysctl -w vm.drop_caches=3
else

   echo " "
   echo "  Analise de memoria ANTES: "
   free
   echo " "
   echo " Limpando a memoria..."
   sysctl -w vm.drop_caches=3
   echo " "
   echo "  Analise de memoria DEPOIS: "
   free
fi

echo " "
echo " Concluido!"
echo "           Feito por Victor Neves - Obrigado por usar!"

N0vaT0

Oi, deve ser uma pergunta bem idiota, mas, vou perguntar assim mesmo...
Onde eu coloco esse script e como eu o executo?

Citação de: Petrov online 12 de Abril de 2010, 20:55
galera, hoje eu fiz um programinha bastante simples porem um tanto útil pra quem tem pouca memoria.

la no laboratorio da facu, os pcs tem menos que 512 de memoria, o que eu tava tinha 488MB de memoria, dai chegava uma hora que ele nem abria mais janelas e ai eu tnha que ficar digitando o comando pra liberar memoria cache...
entao eu automatizei a coisa, eu utilizei o vim pra escrever:

#!/bin/bash

echo " "
echo " Selecione a opcao desejada:"
echo " s  - mostragem  simples  do resultado;"
echo " d  - mostragem detalhada do resultado."
read opcao

if [ "$opcao" = "s" ]
then
   echo " Limpando a memoria..."
   sysctl -w vm.drop_caches=3
else

   echo " "
   echo "  Analise de memoria ANTES: "
   free
   echo " "
   echo " Limpando a memoria..."
   sysctl -w vm.drop_caches=3
   echo " "
   echo "  Analise de memoria DEPOIS: "
   free
fi

echo " "
echo " Concluido!"
echo "           Feito por Victor Neves - Obrigado por usar!"
.:Linux Powered:.

koheleth

Vamos começar por partes:

1. Copie o texto do script para o gedit.
2. Salve o arquivo com o nome por exemplo "limpar_memoria"
3. Vá onde você salvou clique com o botão direito -> propriedades -> Permissões
4. Marque a caixa "Permitir execução do arquivo como um programa"
5. Abra o terminal e entre na pasta (por exemplo cd "/home/usuario/cominhodapasta")
6. digite o seguinte: sudo ./limpar_memoria

Pronto, qualquer dúvida é só postar.


Até mais



Ubuntu 13.04
acesse: Guia LPI
Profº Marcos Aurélio

koheleth

Peço a permissão de Victor Neves para fazer uma pequena alteração no seu script

Lá vai ela:

#!/bin/bash

echo " "
echo " Selecione a opcao desejada:"
echo " s  - mostragem  simples  do resultado;"
echo " d  - mostragem detalhada do resultado."
read opcao

if [ "$opcao" = "s" ]
then
   echo " Limpando a memoria..."
   sudo sysctl -w vm.drop_caches=3
else if [ "$opcao" = "d" ]
then
   echo " "
   echo "  Analise de memoria ANTES: "
   free
   echo " "
   echo " Limpando a memoria..."
   sudo sysctl -w vm.drop_caches=3
   echo " "
   echo "  Analise de memoria DEPOIS: "
   free
else
   echo "Opção inválida!"
fi
fi

echo " "
echo " Concluido!"
echo "           Feito por Victor Neves - Obrigado por usar!"
echo " Modificado por Marcos Alcântara 18/04/10 - Obrigado por usar!"
echo " "
echo "Aperte Enter para sair"
read
Ubuntu 13.04
acesse: Guia LPI
Profº Marcos Aurélio

Petrov

#4
sinta-se a vontade para modificar! xD
vivemos em um mundo linux!  ;)


desculpe a demora em responder, é que é tao simples isso que eu fiz que eu achei que ninguem iria responder! rsrs

alguem poderia explicar a diferença entre
sysctl -w vm.drop_caches=1
sysctl -w vm.drop_caches=2
sysctl -w vm.drop_caches=3

????


nao acho nenhum material bom falando sobre a diferença entre eles.

obs: quem quiser pode usar a opçao -m no comando free, essa opcao mostra a memoria em megabytes, na epoca que fiz o script eu nao sabia disso, ver memoria em megabytes fica de melhor compreençao e visualizacao do tamanho de memoria, do espaço vazio e usado, buffer, cache, etc...  >> free -m

irtigor

Citação de: Petrov online 07 de Maio de 2010, 23:18

alguem poderia explicar a diferença entre
sysctl -w vm.drop_caches=1
sysctl -w vm.drop_caches=2
sysctl -w vm.drop_caches=3

????

man proc

Seção:/proc/sys/vm/drop_caches

To      free     pagecache,     use     echo     1     > /proc/sys/vm/drop_caches; to free dentries  and  inodes, use  echo  2  >  /proc/sys/vm/drop_caches; to free pagecache,   dentries   and   inodes,   use   echo    3    > /proc/sys/vm/drop_caches. Você fez usando o sysctl (do man) "used to modify kernel parameters at run time".