como qualquer outro sistema operacional, GNU / Linux implementou uma gestão de memória de forma eficiente e ainda mais do que isso. Mas se qualquer processo está corroendo a sua memória e você quer limpá-la, o Linux fornece uma maneira de descarregar ou limpar o cache de ram.
como limpar a Cache em Linux?
cada sistema Linux tem três opções para limpar o cache sem interromper quaisquer processos ou serviços.1. Limpar apenas o PageCache.
# sync; echo 1 > /proc/sys/vm/drop_caches
2. Limpar dentrias e inodes.
# sync; echo 2 > /proc/sys/vm/drop_caches
3. Limpar o PageCache, dentries e inodes.
# sync; echo 3 > /proc/sys/vm/drop_caches
explicação do comando acima.
a sincronização irá limpar o buffer do sistema de ficheiros. Comando separado por ";”
executado sequencialmente. A shell espera que cada comando termine antes de executar o comando seguinte na sequência. Como mencionado na documentação do kernel, escrever para drop_ cache irá limpar a ‘cache’ sem matar qualquer aplicação/serviço, o comando echo está a fazer o trabalho de escrever para Ficheiro.
Se você tem que limpar a cache do disco, o primeiro comando é mais seguro na empresa e produção como "...echo 1 > ….”
só irá limpar o PageCache. Não é recomendado usar a terceira opção acima de "...echo 3 >”
na produção até que você saiba o que está fazendo, pois irá limpar PageCache, dentries e inodes.
é uma boa idéia para liberar Buffer e Cache no Linux que pode ser usado pelo Kernel Linux?
Quando você está aplicando várias configurações e quer verificar, se ele é realmente implementado especialmente em I/O-extensa benchmark, então você pode precisar limpar cache de buffer. Você pode drop cache como explicado acima sem reiniciar o sistema, ou seja, sem tempo de inatividade necessário.
Linux é projetado de tal forma que ele olha para o cache de disco antes de olhar para o disco. Se ele encontra o recurso no cache, então o pedido não chega ao disco. Se limparmos o cache, o cache do disco será menos útil como o OS olhará para o recurso no disco.
além disso, ele também irá atrasar o sistema por alguns segundos, enquanto o cache é limpo e todos os recursos necessários pelo sistema operacional são carregados novamente no disco-cache.
Agora vamos criar um script shell para limpar automaticamente a cache de RAM diariamente às 2 da manhã através de uma tarefa cron scheduler. Criar um programa de consola clearcache.sh e adicione as seguintes linhas.
#!/bin/bash# Note, we are using "echo 3", but it is not recommended in production instead use "echo 1"echo "echo 3 > /proc/sys/vm/drop_caches"
Set execute permission on the clearcache.sh file.
# chmod 755 clearcache.sh
Agora você pode chamar o script sempre que for necessário para limpar a ‘cache’ de ram.
agora defina um cron para limpar a cache de RAM todos os dias às 2 da manhã. Abrir o crontab para edição.
# crontab -e
adicione a linha abaixo, salve e saia para executá-la às 2 horas por dia.
0 2 * * * /path/to/clearcache.sh
Para mais detalhes sobre como executar um trabalho você pode gostar de verificar o nosso artigo sobre 11 tarefas de agendamento Cron.é boa ideia limpar automaticamente a cache RAM no servidor de produção?não! não é. Pense em uma situação quando você agendou o script para limpar o cache ram todos os dias às 2 da manhã. Todos os dias às 2 da manhã o script é executado e ele descarrega o seu cache RAM. Um dia, por qualquer razão, pode ser mais do que o esperado usuários estão on-line em seu site e procurando recursos de seu servidor.
ao mesmo tempo script agendado executar e limpa tudo em cache. Agora, todo o usuário está obtendo dados do disco. Irá resultar numa falha do servidor e corromperá a base de dados. Então limpar ram-cache apenas quando necessário, e conhecer seus passos de pé, caso contrário você é um administrador de Sistema de culto de carga.
como limpar o espaço de Swap no Linux?
Se quiser limpar o espaço de troca, poderá querer executar o comando abaixo.
# swapoff -a && swapon -a
também pode adicionar o comando acima a um script de cron acima, depois de compreender todo o risco associado.
Agora vamos estar combinando ambos os comandos acima em um único comando para fazer um script apropriado para limpar a Cache de RAM e espaço de Swap.
# echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'OR$ su -c "echo 3 >'/proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'" root
Depois de testar ambos os comandos acima, executaremos o comando” free-h “antes e depois de executar o script e verificaremos a ‘cache’.