Pular para o conteúdo

Otimizando o uso da memória RAM do sistema

Dica publicada em Linux / Comandos
Wagner Souza wagnerfs
Hits: 10.288 Categoria: Linux Subcategoria: Comandos
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Exercício Prático LPIC 12

Erro ao formatar partições EXT4 no OpenSUSE [Resolvido]

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

Exercício Prático LPIC 11

Exercício Prático LPIC 01

Como tirar print de sua tela de login, bloqueio, apresentação e área de trabalho (KDE)

Comandos básicos para usar o shell

yum - Erro: Metadata file does not match checksum [Resolvido]

Instalação do tema Numix Circle em sistemas GNU/Linux

Limitando velocidade de download

#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

Entre na sua conta para comentar.