technology

Como limpar o buffer, o cache e a memória de troca no Linux

.

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”.

Estatísticas de memória do buffer

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 -mque imprimirá o uso de memória do sistema em MB.

O resultado mostra a saída do comando acima
O resultado mostra a saída do comando acima

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.


.

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo