
Existem muitas postagens sobre como desativar completamente a troca do Ubuntu. É 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. Na pior das hipóteses, a memória livre ainda pode acomodar 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
Quero desencorajar a troca quando há memória livre disponível, porque a troca faz muitas gravações de IO que degradam o SSD rapidamente.
É possível priorizar a RAM em vez do swap ou a escolha é limitada a "swap on/off"? Quais efeitos colaterais isso causa, se houver?
Obrigado por apontar as respostas existentes, elas são relevantes, mas difíceis de encontrar. O usuário deve saber 90% da resposta para pesquisar "como configurar o swappiness". Pergunta respondida. Espero que este cabeçalho da pergunta ajude na indexação.
Responder1
A menos que você tenha um SSD bem antigo, os SSDs meio modernos podem lidar com muitas gravações, então você realmente não precisa fazer nada se tiver um SSD meio moderno.
Se você ainda deseja reduzir a troca, reduza swappiness
(o valor mínimo no Linux moderno é 1
, não 0
, se você quiser fazer tudo, embora 10
seja o mínimo recomendado e 60
seja o padrão do Ubuntu). Isso pode tornar as coisas muito mais lentas (a ponto de o sistema poder congelar por um bom tempo se estiver sob forte pressão de memória) quando a troca finalmente começar, já que pouco ou nada será trocado antes do tempo.
Para definir swappiness
, substitua 10
abaixo pelo swappiness
que você deseja, 1
para 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 na parte inferior (ou se já houver uma vm.swappiness
linha, edite-a):
vm.swappiness = 10
Pressione Ctrl+ Opara salvar. Pressione Ctrl+ Xpara sair nano
. Feche a janela do terminal.