.
Limpar o buffer, o cache e a memória de troca no Linux pode ser feito facilmente com alguns comandos simples.
Se você já usou o free -m
comando, você provavelmente está familiarizado com a saída, que fornece informações sobre a memória total do sistema, memória usada, memória livre, memória compartilhada e memória buffer/cache.
Além da memória buffer/cache, todos são autoexplicativos e todos nós sabemos como limpar a memória que foi usada, mas descobri que havia alguma confusão sobre como limpar a memória buffer/cache, então decidi escrever um artigo sobre isso.
Aqui discutiremos como limpar o buffer/cache e trocar a memória no Linux, por que é importante fazê-lo e os melhores métodos para limpar esse tipo de memória.
Como limpar ou esvaziar buffer, cache e trocar memória no Linux
Como afirmei anteriormente, todos nós sabemos como limpar o espaço RAM usado, mas raramente arranhamos a superfície do que é buffer e memória cache e como limpá-los no Linux, portanto, antes de mostrar o comando, deixe-me definir buffer e cache memória, o que o ajudará a entender por que precisamos limpá-los.
O que é Buffer e Memória Cache?
Os termos buffer e memória cache são frequentemente usados como sinônimos porque ambos têm a mesma função de armazenar dados acessados com frequência temporariamente para acesso rápido.
Se falamos especificamente de memória buffer, é a parte da RAM que serve para armazenar temporariamente informações de metadados sobre arquivos que estão sendo lidos ou gravados em um disco, permitindo que os dados sejam acessados rapidamente sem ter que passar pelo caminho mais lento operações de E/S de disco.
Enquanto a memória cache é uma forma de memória de acesso rápido que armazena instruções e dados usados recentemente (com o conteúdo real de arquivos ou dispositivos de bloco) para que possam ser acessados rapidamente quando os mesmos dados forem solicitados.
Não posso explicar o conceito abstrato acima com mais detalhes aqui, então recomendo que você leia este artigo para obter uma visão mais completa da memória buffer/cache.
Quando você deve limpar manualmente os buffers e a memória cache
Como você sabe, buffers de memória e caches são usados para armazenar dados e instruções para que possam ser acessados rapidamente. No entanto, seu tamanho é limitado, então o Linux é projetado de forma a tentar manter o máximo possível das instruções e dados usados mais recentemente nos buffers de memória e caches, removendo dados e instruções antigos que não foram usados. daqui a pouco.
Mas às vezes você precisa limpar manualmente os buffers e caches para liberar espaço para outros processos com uso intensivo de memória.
Para fazer isso, você pode usar um conjunto de comandos que forçará o sistema a limpar os buffers e caches de memória e redefini-los para seus estados padrão sem afetar nenhum dos outros processos em execução no momento.
Você verá primeiro como limpar o cache do disco, depois como limpar o cache de dentries e inodes e, finalmente, como limpar o cache de página, dentries e inodes no Linux.
Limpar cache de página ou cache de disco no Linux
Sugiro que você primeiro verifique o status atual da memória executando o comando abaixo, que o ajudará a ter uma ideia de quanta memória livre está disponível e também quanto buffer e memória cache estão sendo usados atualmente pelo sistema.
$ free -h
A saída do comando acima é “Mostre-me 3 GB de espaço ocupado pelo buffer/memória cache, então agora libere algum espaço executando o próximo comando”.
Para limpar o cache de página ou o cache de disco no Linux, você pode usar o comando abaixo, que limpará todo o cache de página do sistema (usado pelo kernel do Linux durante leituras e gravações de disco) sem afetar o cache do buffer.
$ sudo sync; echo 1 | sudo tee /proc/sys/vm/drop_caches
sudo sync
: O comando é usado para sincronizar os dados na memória com os do disco, garantindo que quaisquer alterações no disco sejam confirmadas antes de eliminá-las.echo 1
: O parâmetro seguido pelo comando sync pode ser usado para limpar o cache da página.sudo tee
: comando irá gravar os dados fornecidos pelo comando anterior para /proc/sys/vm/drop_caches.
Para obter o resultado do comando acima, execute free -m
que imprimirá o uso de memória do sistema em MB.

Comando para limpar o cache de dentries e inodes
Você já aprendeu como limpar o cache da página com echo 1, então agora você usará o echo 2 para limpar dentries (que são entradas de dados no sistema de arquivos de um computador que se referem a diretórios e arquivos) e inodes.
Para fazer isso, execute o comando abaixo:
$ sudo sync; echo 2 | sudo tee /proc/sys/vm/drop_caches
Comando para limpar cache de página, dentries e inodes
O próximo comando removerá tudo como cache de página, dentries e inodes, que não são recomendados para execução em servidores de produção, a menos que você esteja ciente do impacto, mas pode executá-lo para liberar memória em seu servidor Linux.
Portanto, para limpar o cache de página, dentries e inodes em um servidor Linux, execute o seguinte comando:
$ sudo sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
Comando para limpar a memória Swap
Pode haver uma situação em que você precise limpar a memória de troca para liberar mais memória no sistema. Nesse caso, você pode usar o comando abaixo, que desalocará a memória de troca e permitirá que você use os recursos do sistema de maneira eficaz.
Veja também: Qual é a diferença entre Su, Sudo Su, Sudo -i e Sudo -s?
Para isso, você precisa mudar sua conta para root e executar o comando.
# swapoff -a && swapon -a
Este comando é uma maneira poderosa de limpar a memória de troca e liberar RAM no sistema.
Embrulhar
Isso é tudo neste artigo, onde você aprenderá como limpar o cache do buffer e trocar a memória. Você também pode configurar o comando acima como um alias ou script curto para ser executado automaticamente quando necessário usando o comando curl.
Veja também: Estatísticas de memória virtual com vmstat, que é uma ferramenta importante para administradores e entusiastas do Linux.
Se você tiver alguma dúvida ou comentário, sinta-se à vontade para deixá-los na seção de comentários abaixo.
Até lá, coloque os pés para cima e relaxe. Como sempre, o próximo artigo será publicado em breve.

Um homem com uma tecnologia efusiva que explorou algumas das incríveis coisas da tecnologia e está explorando mais. Enquanto avançava, tive a chance de trabalhar no desenvolvimento Android, Linux, AWS e DevOps com várias ferramentas de código aberto.
.