A quem Ubunlog Nós nos dedicamos – ou tentamos nos dedicar – a todos os usuários, e isso inclui configurações de hardware muito diferentes. E de alguma forma gostamos de pensar que com os tutoriais que mostramos aqui contribuímos de alguma forma para melhorar a experiência geral do usuário nesta distro que tanto gostamos (em qualquer um de seus sabores), por isso publicamos frequentemente guias para obtenha o melhor desempenho possível, especialmente em equipamentos mais modestos.
Agora, sem ir mais longe, vamos mostrar como ajustar o uso de memória virtual em Ubuntu, de forma a evitar que no final acabe por atrapalhar e tornar o desempenho pior do que seria sem ele. E é que embora a ideia de usar um arquivo ou partição swap não seja ruim em si mesma, muito pelo contrário, se não for bem implementada pode gerar um uso excessivo do disco rígido, muito mais lento que o RAM.
Portanto, o uso da partição swap deve ser limitado a situações em que não há alternativa a não ser usá-la, quando ela suportará a memória principal (que é a RAM). Se, em vez disso, o usarmos sempre, às vezes até antes da RAM, nosso desempenho será penalizado. Vamos ver então como ajustar o uso de memória virtual no Linux usando o comando Swappiness.
Em nosso sistema operacional, a criação de memória virtual geralmente é realizada durante o processo de instalação, momento em que definimos a partição raiz (/), a partição de armazenamento (/ home) e a partição de troca ou swap, que geralmente é implementado na partição / dev / sda5. O parâmetro do kernel que gerencia o uso da memória virtual é o swappiness mencionado anteriormente, e basicamente podemos dizer que ele se encarrega de definir com que frequência acessamos a partição swap e quanto conteúdo nela copiamos, através de um argumento que varia entre 0 e 100.
O valor padrão em uma instalação Linux é 60, mas como é fácil de presumir, nem todas as configurações de hardware são iguais e, portanto, não faz sentido manter esse nível, independentemente de qual seja o nosso. Este valor é armazenado no arquivo / proc / sys / vm / swappiness e podemos verificá-lo:
cat / proc / sys / vm / swappiness
Quase certamente será em 60, e se for esse o caso, podemos ter que modificá-lo, especialmente se tivermos mais de 4 GB de memória RAM, pois nesse caso geralmente precisamos de pouca ou nenhuma memória virtual. Mas antes de explicar como modificar isso, vamos ver um pouco sobre a lógica por trás de toda essa coisa de memória virtual e troca; E é que quando é deixado por padrão em 60, o que o kernel é dito é para ir e usar a memória virtual quando nossa RAM tiver 40 por cento ou menos de sua capacidade livre. Portanto, se definirmos a troca igual a 100, a memória virtual será usada o tempo todo, e se o deixarmos com um valor muito baixo, ele só será usado quando nossa RAM estiver prestes a acabar. O mínimo possível é 1, pois deixando o valor igual a 0 desativamos completamente a memória virtual.
Então, o que temos que fazer é inserir o seguinte comando no terminal (Ctrl + Alt + T):
sudo sysctl vm.swappiness = 10
Agora o valor de a troca permanecerá em 10, e então a memória virtual dificilmente será usada. Assim que este valor for alterado não há necessidade de reiniciar o computador, mas entra em vigor imediatamente, e na verdade se zerarmos o valor ele vai ficar em 60 como antes, porque o que vamos precisar é deixar essa mudança definitivamente estabelecida. Para fazer isso, uma vez que tenhamos usado nosso computador e verificado que está tudo bem com o novo valor de troca, executamos:
sudo nano /etc/sysctl.conf
depois disso, procuramos o texto vm.swappiness = e adicionamos o valor desejado após o símbolo "=". Salvamos o arquivo e agora, a mudança será permanente.
Excelente explicação !!! Artigo muito bom !! No meu caso, quando faço essa alteração ao reiniciar o notebook ele retorna ao valor original de 60, é como se o arquivo fosse salvo, mas ao reiniciar está "formatado". Já tentei de tudo sem sucesso, tem ideia do que pode estar acontecendo? Eu tenho 1 GB de Ram.
Obrigado!
Oi César, fico feliz que você achou interessante
Se o valor for perdido quando o sistema for reinicializado, eu examinaria o /etc/rc.local e os outros scripts de inicialização (eles variam de acordo com cada distro), pois pode ser que isso seja definido na inicialização.
Saudações!
Explicação muito boa!
Como complemento, aqui está outro interessante sobre troca e troca no Linux:
http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html
você não sabe como isso é bom para mim, obrigado
Atenciosamente,
No meu /etc/sysctl.conf não está o texto vm.swappiness =, procurei bem, o arquivo é pequeno. A menos que você precise adicioná-lo, o artigo diz para localizar e modificar o valor, não para adicionar a linha.
Atenciosamente,
No meu /etc/sysctl.conf não há vm.swappiness = text. A menos que você precise adicioná-lo, o artigo diz para localizar e modificar o valor, não para adicionar a linha.
Você deve criá-lo, no final do arquivo você coloca vm.swappiness = 10 e pronto.
Se não salvar na reinicialização, pode ser porque você não usa o comando sudo.
Ubuntu: sudo gedit /etc/sysctl.conf
Xubuntu: sudo mousepad /etc/sysctl.conf
Excelente artigo. Obrigado!
Você pode colocar zero. que problemas podem aparecer?
Olá e obrigado Willy Clew pelo seu artigo que me deixa claro o processo de utilização da memória swapp, mas me causou uma grande dúvida porque ao entrar no terminal e executar os comandos que você indica, ele retorna a mensagem que diz:
bash: cat / proc / sys / vm / swappiness: Arquivo ou diretório não existe
O que pode ser causado isso?
Você escreveu mal. Você não colocou o espaço depois de "gato".
ótimo, nós o compartilhamos no grupo ubuntu em espanhol https://t.me/ubuntu_es
Excelente funcionou para mim no Debian 10.9
Eu sou um cientista da computação eu instalei e testei várias distros, a melhor opção para configurar a troca é escrever no terminal
sudo nano /etc/sysctl.conf
depois de pressionar enter escreva a chave e digite novamente, então escreva no final a seguinte linha
vm.swappiness = 0
então pressione ctrl e a tecla x ao mesmo tempo, ele gera uma pergunta que se você quiser salvar a nova frase no arquivo então pressione a tecla Y para dizer sim e n para que não salve
Por que escrevi zero 0? Os testes já foram feitos em diferentes PCs que eu programei porque essa é a melhor opção uma vez que usa de quem paginação, mas por exemplo se o chromium ou um navegador for aberto abrindo o Facebook porque a troca de memória (swap ou também chamada de paginação) aumentará mas quando é fechada a sessão e o navegador ou qualquer programa porque a memória de paging (swap) vai diminuir liberando o disco rígido o que é útil para evitar danificá-lo, lembre-se que a memória swap ou chamada paging (swap) usa o disco rígido.
Eu não entendi desculpe. Se o padrão é 60 para que a troca seja ativada com 40 ou menos faltando, ao definir o parâmetro para 10. Não seria ativado com 90 da RAM livre? Ao desacelerar a troca de dados