LINUX: Limpando o cache de RAM, Buffer e SWAP

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.

Por que? Porque os comandos mandarão sinais diretamente para o kernel Linux através do sistema de arquivos montado em /proc. 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!

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.

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:

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

Explicação dos Comandos

syncVai 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.
echofará a escrita no arquivo especial
1, 2 ou 3Em drop_cache vai limpar o cache sem matar nenhum programa, processo ou serviço do sistema

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

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este post, não tem problema! Basta comentar no que iremos responder suas dúvidas assim que for possível.

Fonte: linuxuniverse, linuxdicasesuporte

Deixe um comentário