Otimizando o uso da memória RAM do sistema

Publicado por Wagner Souza em 27/07/2015

[ Hits: 9.629 ]

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

Instalação e configuração do comando sar no OpenSuSe

Exercício Prático LPIC 07

Exercício Prático LPIC 10

Trabalhando com referências de células no LibreOffice

Shell Script nosso de cada dia - Episódio 4

Leitura recomendada

Combinando find com a variável PATH

yumex (Yum Extender) no Fedora 19

Ressuscitando o modo gráfico no Kurumin 7.0

Manipulação de fitas com MT

Utilizando o Aptitude

  

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