Como limpar o cache de memória no Linux

Como limpar o cache de memória no Linux

O cache de memória é um componente crítico de qualquer sistema Linux, ajudando a melhorar o desempenho, armazenando dados frequentemente acessados ​​em um local rápido e facilmente acessível. No entanto, o cache também pode ficar inchado com o tempo, levando a um desempenho degradado. Felizmente, é relativamente fácil limpar o cache de memória no Linux.

Limpar o cache da memória é seguro, mas não recomendado sempre. Ele pode desacelerar o desempenho do sistema, pois a leitura de arquivos da memória é muito mais rápida que o disco persistente. Como descarta objetos em cache da memória, pode custar uma quantidade significativa de E/S e CPU para recriar os objetos descartados.

Este tutorial ajudará você a limpar o cache de memória no sistema Linux/Unix através da linha de comando.

Como limpar o cache de memória no Linux

Existem três opções disponíveis para limpar o cache de memória no Linux. Escolha uma das opções abaixo para liberar a memória de cache do sistema Linux conforme seus requisitos.

  • Clear Pagecache, Dentries e Inodes na memória de cache. Em suma, ele limpará todo o cache de memória:
    sincronizar; eco 3 | Sudo Tee/Proc/Sys/VM/Drop_caches  
  • Limpar dintries e inodos apenas na memória de cache
    sincronizar; eco 2 | Sudo Tee/Proc/Sys/VM/Drop_caches  
  • Cache de página limpa apenas na memória do cache
    sincronizar; eco 1 | Sudo Tee/Proc/Sys/VM/Drop_caches  

Aqui o primeiro comando sincronizar é usado para sincronizar todos os arquivos de cache na memória com o armazenamento persistente. O próximo comando é separado com um ";". Depois que o primeiro comando for concluído, o próximo comando será acionado para limpar a memória do cache.

Ageleng o cache de memória transparente usando Crontab

Você também pode agendar um trabalho de milho para limpar o cache regularmente. Programe o seguinte no sistema Crontab para lavar automaticamente a memória de cache em um intervalo regular.

Abra um terminal e execute o comando 'Crontab -e' para editar Crontab:

Crontab -e  

Anexe a entrada abaixo no arquivo:

0 10 * * * SYNC; eco 3 | Sudo Tee/Proc/Sys/VM/Drop_caches 

O cron acima será executado a cada hora e libera o cache de memória em seu sistema.

Nos servidores de produção, não é recomendável agendar um comando claro de cache. Pode levar à corrupção de dados ou perda de dados. Portanto, tenha cuidado antes de executar o comando acima em um ambiente de produção.

Como encontrar memória em cache no Linux

Usar livre comando para descobrir o uso da memória do cache pelo sistema Linux. A saída do comando livre é como abaixo

grátis -m  
SAÍDA TOTAL Utilizada Buffers compartilhados gratuitos em cache MEM: 16050 15908 142 0 120 12953 -/+ Buffers/cache: 834 15216 Swap: 0 0 0 

Aqui a última coluna está mostrando memória em cache (12953 MB) no sistema Linux. O -m a opção é usada para mostrar os mbs de saída.