Limpando o cache de RAM, Buffer e SWAP

Aprenda como limpar cache de buffer e swap, otimizando o sistema e por consequência diminuindo o consumo de energia em notebooks.


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


1. Introdução

O Linux possui um eficiente sistema de gestão de memórias RAM e de SWAP. Tão eficiente quanto Morgan Freeman de Deus zelador no filme “Todo Poderoso”.

Mas existem casos em que uma limpeza se faz necessária, como quando algum programa em execução simplesmente consumiu mais memória RAM do que deveria, já concluiu seu funcionamento e encerrou, deixando apenas o “lixo” para trás.

  • Mas por quê eu iria querer limpar meu cachê de memória RAM e/ou meu SWAP?

Existem algumas razões. Por exemplo, em notebooks, quanto mais memória RAM estiver em uso, mais energia será gasta para manter os dados nela, afinal, a memória RAM só grava os dados com eletricidade e se apaga quando desliga.

O Buffer é composto dos programas que foram abertos apenas 1x e continuam “abertos” na RAM para abrirem mais rapidamente depois. Limpar o buffer depois de uso intenso poderá poupar a bateria do notebook fazendo-a durar nem que sejam alguns minutos a mais.

Uma situação diferente seria caso você tenha feito testes de estresse/benchmark, e queira apagar o buffer que gerou o resultado dos testes, pois esse tipo de teste costuma encher o buffer da RAM e até mesmo o SWAP.

Já a limpeza de SWAP pode ser necessária, principalmente para os novos sistemas Ubuntu, para aliviar espaço em disco. Uma vez que a SWAP tornou-se um arquivo no disco, e não mais uma partição, ele poderá engordar conforme o uso e diminuir seu volume poupará espaço. Não é bem uma regra já que o uso de SWAP tende a desaparecer com o tempo, mas é algo que pode salvar muita gente por aí.

O interessante é fazer isso tudo sem precisar reiniciar a máquina!

Todos os sistemas linux por padrão possuem um modo de limpar cache de memórias RAM, Buffer e SWAP. E o comando é padrão para todos, não importa se é Fedora, CentOS, Ubuntu, Zorin, Debian, etc.

OBS: Estes comandos só podem ser feitos pelo usuário ROOT.
Usuário normal com permissões de root (sudo) não terão permissão!

  • Por que?

Porque os comandos mandarão sinais diretamente para o kernel Linux através do sistema de arquivos montado em /proc, conforme já falamos anteriormente aqui no site!

Utilizaremos o comando sudo junto da flag -i para abrir o usuário root. Ou acesse o root por outro meio que achar mais conveniente!

Para limpar o Cache/Buffer de RAM:

$ sudo -i
# sync; echo 1 > /proc/sys/vm/drop_caches

Para limpar Dentries e inodes:

$ sudo -i
# sync; echo 2 > /proc/sys/vm/drop_caches

Para limpar tudo: Cache/Buffer, Dentries e Inodes:

$ sudo -i
# sync; echo 3 > /proc/sys/vm/drop_caches

Para limpar o espaço em disco consumido pela SWAP:

Certifique-se de ter RAM livre suficiente antes de executar este comando abaixo! Ou você vai travar completamente seu sistema Linux por inanição de recursos. Caso isso ocorra, use o REISUB!

$ sudo -i
# swapoff -a && swapon -a

Explicação dos Comandos

  • sync
    Vai sincronizar e liberar o buffer do sistema de arquivos, permitindo que você possa limpá-lo sem riscos de corromper nada.
  • ;
    Executará o comando somente quando o anterior terminar. Somente após a sincronia, o buff poderá ser apagado sem corromper arquivos do sistema.
  • 1, 2 ou 3
    Em drop_cache vai limpar o cache sem matar nenhum programa, processo ou serviço do sistema.
  • E por fim, o comando echo fará a escrita no arquivo especial.

2. Observações

O primeiro comando é seguro para sistemas servidores de empresas e produção.

Não recomendamos o uso do segundo e terceiro comandos em sistemas de produção e servidores pois pode acarretar no corrompimento de bancos de dados dos programas em uso pelos diversos usuários simultâneos (Firebird); a unica situação tecnicamente segura, é se o servidor não estiver sendo acessado por ninguém, tal qual no momento de backup de bancos de dados.

O Linux é projetado de tal forma que ele examina o cache de disco antes de examinar o disco, portanto se encontrar o recurso solicitado no cache, a solicitação não atingirá o disco; E no caso de limparmos o cache, o sistema operacional procurará o recurso no disco novamente, não causando perdas ou problemas para o próprio sistema ou o usuário.

O único inconveniente, pequeno, desse tipo de procedimento de limpeza de Cache, Buffer e SWAP, é que o sistema ficará lento nos próximos minutos á execução do comando. Depois voltará ao normal, pois é o ponto em que o sistema despejar novamente o cache e buffer básicos necessários para uso pelo sistema.

O status do consumo de cache/buff e SWAP poderá ser verificado com o comando:

$ top

#UrbanCompassPony

Fonte:
Tecmint

6 comentários em “Limpando o cache de RAM, Buffer e SWAP”

  1. Valeu mano, ajudou aqui. Estou iniciando no mundo Linux… e percebi que ficava muito lento quando entrava no SWAP chegando até a travar em alguns momentos, minha máquina só tem 4G de Ram e enche logo…

    Responder

Deixe um comentário