É 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

One Zero
fonte
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

One Zero
fonte
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.

Tom Brossman
fonte
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.

Przemek D
fonte