Troca: como ajustar o uso de memória virtual

troca de memória virtual

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.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Cesflo dito

    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!

    1.    Willy klew dito

      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!

  2.   Pascual Martin dito

    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

  3.   condição do visualizador dito

    você não sabe como isso é bom para mim, obrigado

  4.   Clerygo dito

    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.

  5.   Lewis dito

    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.

  6.   Nosferatus dito

    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

  7.   santiago dito

    Excelente artigo. Obrigado!

  8.   Roberto dito

    Você pode colocar zero. que problemas podem aparecer?

  9.   Jose Castillo Ávalos dito

    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?

    1.    Andres Choque Lopez dito

      Você escreveu mal. Você não colocou o espaço depois de "gato".

  10.   modificação de gelo dito

    ótimo, nós o compartilhamos no grupo ubuntu em espanhol https://t.me/ubuntu_es

  11.   ferreiro dito

    Excelente funcionou para mim no Debian 10.9

  12.   banheiro dito

    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.

  13.   Norberto González dito

    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