Como limpar o cache da memória RAM, o buffer e o espaço de troca no Linux

Como limpar o cache da memória RAM, o buffer e o espaço de troca no Linux

Como qualquer outro sistema operacional, o GNU/Linux implementou o gerenciamento de memória com eficiência e ainda mais do que isso. Mas se algum processo estiver cometendo sua memória e você deseja limpá -lo, o Linux fornece uma maneira de lavar ou limpar o cache do RAM.

  • Encontre os 15 principais processos por uso de memória no Linux
  • Encontre os principais processos de execução por memória mais alta e uso da CPU no Linux
  • Como limitar o tempo e o uso da memória dos processos no Linux

Como limpar o cache no Linux?

Todo sistema Linux tem três opções para limpar o cache sem interromper nenhum processo ou serviço.

1. Clear Pagecache apenas.

# sincronizar; eco 1>/proc/sys/vm/Drop_caches 

2. Dentries e inodos claros.

# sincronizar; eco 2>/proc/sys/vm/Drop_caches 

3. Clear Pagecache, Dentries e Inodes.

# sincronizar; ECHO 3>/proc/sys/vm/Drop_caches 

Explicação do comando acima.

sincronizar irá lavar o buffer do sistema de arquivos. Comando separado por ";" execute sequencialmente. O shell aguarda que cada comando termine antes de executar o próximo comando na sequência. Como mencionado na documentação do kernel, escrevendo para drop_cache Limpará o cache sem matar nenhum aplicativo/serviço, o Command Echo está fazendo o trabalho de escrever para arquivar.

Se você precisar limpar o cache do disco, o primeiro comando será mais seguro na empresa e na produção como “… Eco 1>… .” vai limpar o Pagecache apenas. Não é recomendável usar a terceira opção acima “… Eco 3>” em produção até você saber o que está fazendo, pois vai claro Pagecache, Dentries, e inodes.

É uma boa ideia libertar buffer e cache no Linux que podem ser usados ​​pelo Linux Kernel?

Buffer e cache grátis no Linux

Quando você está aplicando várias configurações e deseja verificar, se for realmente implementado especialmente no benchmark de E/S-extenso, talvez seja necessário limpar o cache do buffer. Você pode soltar o cache, conforme explicado acima, sem reiniciar o sistema i.e., Não é necessário tempo de inatividade.

O Linux foi projetado de tal maneira que olha para o cache do disco antes de olhar para o disco. Se encontrar o recurso no cache, a solicitação não atingirá o disco. Se limparmos o cache, o cache do disco será menos útil, pois o sistema operacional procurará o recurso no disco.

Além disso, ele também diminuirá o sistema por alguns segundos enquanto o cache é limpo e todos os recursos exigidos pelo sistema operacional são carregados novamente no cache do disco.

Agora estaremos criando um script de shell para o cache de ram com limpeza automática diariamente em 2h por meio de uma tarefa de crono. Crie um script de shell Limpar cache.sh e adicione as seguintes linhas.

#!/Bin/Bash # Nota, estamos usando "Echo 3", mas não é recomendado na produção em vez de usar "echo 1" echo "echo 3>/proc/sys/vm/Drop_caches" 

Definir permissão executada no Limpar cache.sh arquivo.

# chmod 755 clearcache.sh 

Agora você pode ligar para o script sempre que precisar limpar o cache da RAM.

Agora defina um cron para limpar o cache de RAM todos os dias às 2 da manhã. Abrir Crontab para edição.

# Crontab -e 

Anexar a linha abaixo, salvar e sair para executá -la em 2h diário.

0 2 * * */caminho/para/clearcache.sh 

Para obter mais detalhes sobre como cronizar um emprego, você pode verificar nosso artigo em 11 trabalhos de agendamento cron.

É uma boa ideia limpar automaticamente o cache do RAM no servidor de produção?

Limpar o cache de RAM no servidor de produção do Linux?

Não! não é. Pense em uma situação quando você agendou o script para limpar o cache de RAM todos os dias 2h. Todos os dias às 2 da manhã, o script é executado e libera seu cache de RAM. Um dia por qualquer motivo, os usuários mais do que o esperado estão online em seu site e buscando recursos do seu servidor.

Ao mesmo tempo, o script programado é executado e limpa tudo no cache. Agora todos os usuários estão buscando dados do disco. Isso resultará em um travamento do servidor e corrompe o banco de dados. Tão claro, cache de carneiro somente quando necessário, e conhecido seus passos, caso contrário, você é um administrador de sistema de cultos de carga de carga.

Como limpar o espaço de troca no Linux?

Se você quiser limpar o espaço de troca, você pode executar o comando abaixo.

# swapoff -a && swapon -a 

Além disso, você pode adicionar o comando acima a um script cron acima, depois de entender todos os riscos associados.

Agora estaremos combinando os dois comandos acima em um único comando para fazer um script adequado para limpar o cache do RAM e trocar espaço.

# echo 3>/proc/sys/vm/Drop_caches && swapoff -a && swapon -a && printf '\ n%s \ n "ram -cache e swap limpo' ou $ su -c" eco 3> '/proc/ sys/vm/Drop_caches '&& swapoff -a && swapon -a && printf' \ n%s \ n "ram -cache e swap limpado '" raiz 

Depois de testar os dois comandos acima, executaremos o comando “grátis -h”Antes e depois de executar o script e verificará o cache.

Isso é tudo por enquanto, se você gostou do artigo, não se esqueça de nos fornecer seu valioso feedback nos comentários para nos informar, o que você acha que é uma boa ideia para limpar o cache e o buffer de RAM na produção e na empresa?