Permitir mas Desencorajar swap no Ubuntu [duplicado]

1

Existem postagens copiosas sobre como desabilitar o Ubuntu swap completamente. É possível dizer ao Ubuntu para permitir, mas desencorajar o uso de swap?

Instalei o Xubuntu em um laptop com 1 GB de RAM e um pequeno SSD, transformando-o em um servidor Samba. No pior cenário, a memória livre ainda pode caber todos os dados de um arquivo de troca:

~$ free -m
            total       used       free     shared    buffers     cached
Mem:           991        696        294         17         66        175
-/+ buffers/cache:        454        536
Swap:         1952        107       1845

Eu quero desencorajar a desencorajar a troca quando a memória livre está disponível, porque o swap faz muitas gravações IO que degradam o SSD rapidamente.

É possível priorizar RAM sobre swap ou a opção é limitada a "swap on / off"? Quais efeitos colaterais, se algum, causam?

Obrigado por apontar as respostas existentes que são relevantes, mas difíceis de encontrar. O usuário deve saber 90% da resposta para procurar "como configurar o swappiness". Pergunta respondida. Espero que este cabeçalho de pergunta ajude a indexação.

    
por Stepan 29.05.2018 / 18:18

1 resposta

2

A menos que você tenha um SSD bem antigo, os SSDs modernos podem lidar com muitas gravações, então você não precisa fazer nada se tiver um SSD moderno.

Se você ainda quiser reduzir a troca, reduza swappiness (o valor mínimo no Linux moderno é 1 , não 0 , se você quiser usar todos os recursos, embora 10 seja o mínimo recomendado e 60 é o padrão do Ubuntu). Isso pode atrasar muito as coisas (a ponto de o sistema congelar por um bom tempo se estiver sob strong pressão de memória) quando a troca finalmente começar, já que pouco ou nada será trocado com antecedência.

Para definir swappiness , substitua 10 abaixo pelo swappiness desejado, 1 to 100 , onde os valores mais baixos são trocados com menos frequência. Abra um terminal (pressione Ctrl + Alt + T ), e execute:

sudo sysctl vm.swappiness=10
sudo nano /etc/sysctl.conf

Agora, adicione uma linha à parte inferior (ou se já houver uma linha vm.swappiness , edite isso):

vm.swappiness = 10

Pressione Ctrl + O para salvar. Pressione Ctrl + X para sair de nano . Feche a janela do terminal.

    
por Chai T. Rex 29.05.2018 / 18:42