Autor Tópico: freemem, libere a sua memoria cache!  (Lida 3726 vezes)

Offline Petrov

  • Usuário Ubuntu
  • *
  • Mensagens: 69
    • Ver perfil
freemem, libere a sua memoria cache!
« 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!"

Offline N0vaT0

  • Usuário Ubuntu
  • *
  • Mensagens: 12
  • WaNnAbIe
    • Ver perfil
    • .:Ilhéus Point:.
Re: freemem, libere a sua memoria cache!
« Resposta #1 Online: 13 de Abril de 2010, 08:22 »
Oi, deve ser uma pergunta bem idiota, mas, vou perguntar assim mesmo...
Onde eu coloco esse script e como eu o executo?

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:.

Offline koheleth

  • Usuário Ubuntu
  • *
  • Mensagens: 160
    • Ver perfil
    • Guia LPI
Re: freemem, libere a sua memoria cache!
« Resposta #2 Online: 17 de Abril de 2010, 21:58 »
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

Offline koheleth

  • Usuário Ubuntu
  • *
  • Mensagens: 160
    • Ver perfil
    • Guia LPI
Re: freemem, libere a sua memoria cache!
« Resposta #3 Online: 18 de Abril de 2010, 11:57 »
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

Offline Petrov

  • Usuário Ubuntu
  • *
  • Mensagens: 69
    • Ver perfil
Re: freemem, libere a sua memoria cache!
« Resposta #4 Online: 07 de Maio de 2010, 23:18 »
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
« Última modificação: 07 de Maio de 2010, 23:22 por Petrov »

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: freemem, libere a sua memoria cache!
« Resposta #5 Online: 11 de Maio de 2010, 19:24 »

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".