Otimizando o uso da memória RAM do sistema

Publicado por Wagner Souza em 27/07/2015

[ Hits: 9.635 ]

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

Algoritmo para converter minutos em hora

Trabalhando com datas no LibreOffice

Exercício Prático LPIC 04

Servidor Proxy para uso do APT e ZYPPER - Configuração

Exercício Prático LPIC 01

Leitura recomendada

Problema com o SU?

Criando uma árvore de diretórios com o mkdir

Introdução ao uso do terminal - Parte 1 [Vídeo]

Como desmontar um compartilhamento NFS travado

Compactando e descompactando arquivos com o bzip2 (.bz2)

  

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