É seguro desativar a troca permanentemente?


54

Meu sistema estava ficando mais lento, principalmente quando uso navegadores como Firefox / Chromium e Máquinas Virtuais. Percebi que tenho pelo menos 3,2 GB de RAM livre (usando o monitor do sistema Gnome) e não houve troca.

O que fiz agora é swapoff -aque o desempenho do sistema do sistema aumentou 30%. Então, minha pergunta é: É seguro usar swapoff? Será seguro reiniciar meu PC swapoff?

insira a descrição da imagem aqui


11
Você tem certeza de que o Ubuntu está usando seu swap antes de usar totalmente o ram? Qual é a saída com free -m ? Normalmente, desativar o swap não fará diferença, pois o Ubuntu tenta usar o ram o máximo possível, e não deve acontecer que o ram não seja usado e que o swap seja usado.
ste_kwr

2
Apenas para sua informação, não tenho trocas no meu sistema de 8 GB com um único SSD.
21412 Lekensteyn

3
Você pode desativar a troca, o que deve ser bom, ou ajustar o valor da troca. Pode ser encontrado em / proc / sys / vm / swappiness. Use 'sysctl' para uma mudança mais permanente. Uma coisa a notar é que o hibernate precisa ser trocado. Eu acho que o sono realmente não precisa, mas o hibernar.
Marky

@kniwor ya eu fiz, depois de 2,5 GB de ram ... ele usa swap e eu tenho que reiniciar, em seguida, meu sistema é executado ok. E algum tempo depois de 1 GB meu sistema tenho lenta
Um Zero

@ Eu verifiquei isso de 5 a 6 vezes
One Zero

Respostas:


94

O kernel do Linux fornece uma configuração ajustável que controla a frequência com que o arquivo de troca é usado, chamado swappiness

Uma configuração de troca de zero significa que o disco será evitado a menos que seja absolutamente necessário (você fica sem memória), enquanto uma configuração de troca de 100 significa que os programas serão trocados para o disco quase que instantaneamente.

O sistema Ubuntu vem com um padrão de 60, o que significa que o arquivo de troca será usado com bastante frequência se o uso de memória for cerca de metade da minha RAM. Você pode verificar o valor de swappiness do seu próprio sistema executando:

one@onezero:~$ cat /proc/sys/vm/swappiness
60

Como tenho 4 GB de RAM, gostaria de diminuir para 10 ou 15. O arquivo de troca será usado apenas quando meu uso de RAM for de 80 ou 90 %. Para alterar o valor de troca do sistema, abra /etc/sysctl.conf as root. Em seguida, altere ou adicione esta linha ao arquivo:

vm.swappiness = 10

Reinicialize para que a alteração entre em vigor

Você também pode alterar o valor enquanto o sistema ainda está em execução

sysctl vm.swappiness=10

você também pode limpar sua troca executando swapoff -ae, em seguida, swapon -acomo root em vez de reiniciar para obter o mesmo efeito.

Para calcular sua fórmula de swap

free -m (total) / 100 = A

A * 10

root@onezero:/home/one# free -m
             total       used       free     shared    buffers     cached
Mem:          3950       2262       1687          0        407        952
-/+ buffers/cache:        903       3047
Swap:         1953          0       1953

então o total é 3950/100 = 39,5 * 10 = 395

Então, o que isso significa é que, quando restam 10% 395 MB de RAM, ele começa a usar swapiness


11
+1 Este é um excelente tutorial sobre como configurar a troca. Ótima resposta. Você pode até postar uma nova pergunta perguntando 'como faço para configurar a troca' e copiar esta resposta, para facilitar a localização de outras pessoas. As pessoas que vêm a esta pergunta vai estar à procura de respostas 'sim ou não', o seu é um how-to para as pessoas que já escolheram 'sim'
Tom Brossman

11
@ TomBrossman, eu fiz você pode verificá-lo askubuntu.com/questions/103915/how-do-i-configure-swappiness
One Zero

11
Este guia, apesar de útil, não responde à pergunta. O autor da pergunta queria saber se era seguro ou não , não como fazê-lo.
fouric

2
@InkBlend Ainda mais estranho, este não-resposta é pelo consulente.
underscore_d

De qualquer forma, muito obrigado pela dica. É um mundo totalmente novo usando esta lappy do Ubuntu.
Don Pflaster 23/09

17

Provavelmente. Você deve ler a parte 'Por que preciso trocar' da página de perguntas frequentes do Ubuntu aqui e julgar por si mesmo.

Se você valoriza a velocidade sobre a troca da rede de segurança, pode desativá-la

Se você nunca suspender no disco e sempre desligar e reiniciar, poderá desativá-lo com segurança.

Se você tiver muita memória RAM (suas VMs de 4 GB + em execução são por acaso), poderá.

Para mim, eu tenho meu sistema operacional em um SSD, 8 GB de RAM e nunca suspendo. Não preciso de swap, nunca o vi em uso e apenas o instalei por instalação por hábito.

Como alternativa, aqui está um ajuste about: config para Firefox do Lifehacker, que explica como usar a RAM apenas para o cache do navegador. Leia a refutação vinculada na parte inferior do artigo antes de tentar.


1

Não, não é seguro. O motivo é que, quando o sistema fica sem memória RAM e não consegue trocar nada, ele pode congelar sem chance de recuperação além de uma reinicialização completa. Não se trata apenas de poder suspender ou não.
Fonte: meu 14.04 faz isso.

Você deve manter uma quantidade mínima de espaço de troca, consulte as Perguntas frequentes do Ubuntu para obter números.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.