• Contato
  • Curiosidades
    • O Que é Kernel?
    • O Que é Linux?
    • O Que é Software Livre?
    • Unix: O Pai de Todos os Sistemas Operacionais
  • Velocimetro
  • Privacidade
  • Colabore
King Linux
quinta-feira, 28 janeiro, 2021
No Result
View All Result
  • Setup menu at Appearance » Menus and assign menu to Main Navigation
No Result
View All Result
King Linux
No Result
View All Result

Como liberar memória RAM em servidores GNU/Linux

by King Linux
9 de junho de 2019
in Dicas
0
COMPARTILHE ESTE ARTIGO 📢

Como qualquer outro sistema operacional, o GNU / Linux implementou o gerenciamento de memória com eficiência e até mais do que isso. Mas se algum processo estiver consumindo sua memória e você quiser limpá-lo (liberar), o GNU/Linux fornece uma maneira de limpar o cache de RAM.

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

1- Limpe o cache apenas:

# sync; echo 1 > /proc/sys/vm/drop_caches

2- Limpar dentries e inodes:

# sync; echo 2 > /proc/sys/vm/drop_caches

3- Limpar cache, dentries e inodes.

# sync; echo 3 > /proc/sys/vm/drop_caches 

Vamos ver o que é cada coisa.

O sync limpará o buffer do sistema de arquivos. O caractere “;” é executado sequencialmente. O shell aguarda que cada comando termine antes de executar o próximo comando na sequência. Como mencionado na documentação principal, escrever drop_cache limpará o cache sem matar nenhum aplicativo/serviço, o comando echo está fazendo o trabalho de gravar em um arquivo.

Se você tiver que esvaziar o cache de disco, o primeiro comando é o mais seguro em uma empresa e produção, porque “… echo 1> ….” Apenas esvaziará o PageCache. Não é recomendado usar a terceira opção “… echo 3>” em produção até que você saiba o que está fazendo, pois você apagará PageCache, dentries e inodes.

É uma boa idéia liberar o Buffer e o Cache no GNU / Linux que podem ser usados pelo Kernel do Linux?
Quando você está aplicando várias configurações e deseja verificar se elas estão implementadas, especialmente no benchmark extenso de I/O, talvez seja necessário limpar o cache de buffer. Você pode descartar o cache conforme explicado acima sem reiniciar o sistema, ou seja, sem a necessidade de tempo de inatividade.

O GNU/Linux foi projetado de tal forma que procura no cache do disco antes de olhar para o disco. Se encontrar o recurso no cache, a solicitação não alcançará o disco. Se limparmos o cache, o cache de disco será menos útil, pois o sistema operacional procurará o recurso no disco.

Além disso, ele também reduz a velocidade do sistema por alguns segundos enquanto o cache é limpo e todos os recursos exigidos pelo sistema operacional são carregados de volta no cache de disco.

Agora vamos criar um script de shell para limpar automaticamente o cache de RAM diariamente às 2:00 através de uma tarefa Cron. Crie um arquivo de comando shell cleancache.sh e adicione as seguintes linhas:

#!/bin/bash 
# Tenha em mente que estamos usando "echo 3", mas não é recomendado na produção, em vez disso, use "echo 1". 
echo "echo 3 > /proc/sys/vm/drop_caches"

Defina a permissão de execução no arquivo limparcache.sh.

# chmod 755 limparcache.sh

Agora você pode chamar o script sempre que precisar limpar o cache de RAM.

Agora defina um cron para limpar o cache de RAM todos os dias às 2:00. Abra a guia crontab para editar.

# crontab -e

Adicione a linha abaixo, salve e saia para executar às 2:00 diariamente.

0  2  *  *  *  /caminho/a/limparcache.sh

É uma boa ideia excluir automaticamente o cache de RAM no servidor de produção?
Não! Não é. Pense em uma situação na qual você programou o script para limpar o cache de RAM todos os dias às 2 da manhã. Todos os dias às 2 da manhã o script é executado e o cache de RAM é esvaziado. Um dia, por qualquer motivo, pode haver mais usuários do que o esperado on-line em seu site, gastando recursos em seu servidor.

ADVERTISEMENT

Ao mesmo tempo, o script é executado e apaga tudo no cache. Agora todos os usuários estão recebendo dados do disco. Isso resultará em uma falha do servidor e danificará o banco de dados. Portanto, limpe o cache de RAM somente quando necessário.

Agora, como podemos tornar a troca de memória livre?

# swapoff -a && swapon -a

Você também pode adicionar o comando acima a um script cron anterior, depois de entender todo o risco associado.

Agora, combinaremos os dois comandos anteriores em um único comando para criar um script adequado para apagar o cache de RAM e o espaço de troca.

# echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Cache de RAM e Swap liberadas'

O ok

$ su -c "echo 3 >'/proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\n%s\n' 'Cache de RAM e Swap liberadas'" root

Após testar os dois comandos, executaremos o comando “free -h” antes e depois de executar o script e verificaremos o cache.

Tags: linuxMemória RAMRAMServidores LinuxSWAP
Previous Post

Como corrigir o erro NO_PUBKEY no Debian e derivados

Next Post

Instale o GNU Emacs 26.x no Ubuntu e Linux Mint

Next Post

Instale o GNU Emacs 26.x no Ubuntu e Linux Mint

Faça uma Doação

A finalidade, é para ajudar que nosso site KingLinux não saia do ar e possamos continuar com a nossa contribuição à comunidade Linux e FOSS!

MANTENHA-SE ATUALIZADO

Digite seu E-mail e assine nosso boletim diário informativo:

Serviço disponibilizado por: Google FeedBurner

  • Contato
  • Curiosidades
  • Velocimetro
  • Privacidade
  • Colabore
WhatsApp: +55 12 99661 9330

©2018-2020 King Linux - Tudo Sobre Linux e Tecnologia Opensource

No Result
View All Result

©2018-2020 King Linux - Tudo Sobre Linux e Tecnologia Opensource

Login to your account below

Forgotten Password?

Fill the forms bellow to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In
Utilizamos cookies para garantir que você tenha a melhor experiência em nosso site. Ao continuar visitando nosso site, você concorda com o uso de cookies. Visite nossa Política de Privacidade e Cookies .