Otimizando o uso da memória RAM do sistema

Publicado por Wagner Souza em 27/07/2015

[ Hits: 9.377 ]

Blog: https://medium.com/@souzaw

 


Otimizando o uso da memória RAM do sistema



Por padrão, um sistema operacional se utiliza de recursos de buffers e pagecache para facilitar o trabalho com os I/O de dados tendo em vista que o acesso ao HD é mais lento do que o acesso à memória RAM e CPU.

Recentemente tive um problema na minha máquina com Ubuntu 14.04 em um Dell Inspiron 3000 séries. O ocorrido era que a máquina apresentava um alto consumo de memória, mesmo tendo 8 GB, e quando eu inseria algum HD externo ou pendrive a máquina chegava, em alguns momentos, a travar.

Resolvi criar um script onde a cada 5 minutos este fazia a limpeza dos caches, buffers, dentries e inodes melhorando consideravelmente a performance da máquina. Para quem estiver passando pelo mesmo problema, segue o script abaixo:

#/bin/bash
while [ 1 ];
do
 clear
 free -h && sync && echo 3 > /proc/sys/vm/drop_caches && free -h
 sleep 300
done

O comando "echo 3 > /proc/sys/vm/drop_caches" permite limpar:
  • pagecache: faz a cópia de parte dos dados do HD. Com este recurso o acesso aos dados fica mais rápido.
  • dentries: sua função é prover acesso à arquivos e diretórios.
  • inodes: uma estrutura de dados usada para representar um objeto do sistema de arquivos.

A execução do script será feita a cada 5 minutos (300 segundos).

É isso aí pessoal! Valeu e até a próxima dica.

Outras dicas deste autor

Exercício Prático LPIC 08

Shell Script nosso de cada dia - Episódio 1

Exercício Prático LPIC 12

Trabalhando com referências de células no LibreOffice

Configurando script de inicialização no openSUSE

Leitura recomendada

Teclado ABNT2 pelo Terminal

Gerar arquivo da saída do MD5SUM

Ativar tecla Num Lock na inicialização do Linux

Iniciando Counter-Strike 1.6 no GNU/Linux

Ver log de sites do squid em tempo real

  

Comentários
[1] Comentário enviado por Lwkas em 27/07/2015 - 09:19h


Só uma pergunta: Onde coloco esse script para ele entrar em ação?

OBS: Não entendo muito sobre isso....

[2] Comentário enviado por sergeimartao em 27/07/2015 - 09:30h

Não conhecia o arquivo /proc/sys/vm/drop_caches. Muito interessante a dica!

[3] Comentário enviado por removido em 27/07/2015 - 16:02h

Nao entendo!Eu usei o script e quando loguei denovo ele levou a minha resoluçao de tela O.o

A liberdade indocil e domada pela propria desgraça -William Shakespeare

[4] Comentário enviado por wagnerfs em 27/07/2015 - 22:14h


[1] Comentário enviado por Lwkas em 27/07/2015 - 09:19h


Só uma pergunta: Onde coloco esse script para ele entrar em ação?

OBS: Não entendo muito sobre isso....


Boa noite. Prezado, você pode executá-lo assim que fizer login e este ficará rodando a cada 5 minutos. Você pode fazer assim:

$ ./script &

Aí ele vai ser executado em segundo plano. Outra alternativa é por o caminho, ou o conteúdo do script, no arquivo no rc.local ou fazer um agendamento no crontab.

[5] Comentário enviado por wagnerfs em 27/07/2015 - 22:16h


[3] Comentário enviado por SamsonBurke em 27/07/2015 - 16:02h

Nao entendo!Eu usei o script e quando loguei denovo ele levou a minha resoluçao de tela O.o

A liberdade indocil e domada pela propria desgraça -William Shakespeare


Cara, pode ter havido alguma coincidência. :)

O script não altera em nada as configurações do xorg.

[6] Comentário enviado por Lwkas em 28/07/2015 - 01:13h


[4] Comentário enviado por K666 em 27/07/2015 - 22:14h


[1] Comentário enviado por Lwkas em 27/07/2015 - 09:19h


Só uma pergunta: Onde coloco esse script para ele entrar em ação?

OBS: Não entendo muito sobre isso....

Boa noite. Prezado, você pode executá-lo assim que fizer login e este ficará rodando a cada 5 minutos. Você pode fazer assim:

$ ./script &

Aí ele vai ser executado em segundo plano. Outra alternativa é por o caminho, ou o conteúdo do script, no arquivo no rc.local ou fazer um agendamento no crontab.


Obrigado!

[7] Comentário enviado por linoxman em 11/08/2015 - 14:58h


Boa dica amigo.

Apenas não entendi uma coisa, se o comando echo já adiciona o valor 3 ao arquivo /proc/sys/vm/drop_caches
porque a necessidade de se fazer isso a cada 5 minutos?

Não seria apenas a cada reinicialização? Ou se arquivo volta a valer 0 depois de um período?

Abraços...

[8] Comentário enviado por wagnerfs em 12/08/2015 - 22:49h


[7] Comentário enviado por linoxman em 11/08/2015 - 14:58h


Boa dica amigo.

Apenas não entendi uma coisa, se o comando echo já adiciona o valor 3 ao arquivo /proc/sys/vm/drop_caches
porque a necessidade de se fazer isso a cada 5 minutos?

Não seria apenas a cada reinicialização? Ou se arquivo volta a valer 0 depois de um período?

Abraços...


Quando desenvolvi esse script, o meu Ubuntu 14.04 estava com um problema de utilização constante da memória RAM mesmo eu estando executando alguns programas e tendo 8GB de RAM.

Para que o meu sistema não travasse por falta de memória, configurei o script para ser executado a cada 5 minutos e assim evitar a execução deste manualmente.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts