Vou instalar o 64.04 14.04 em uma nova máquina com algo como 1 a talvez 128 GB de RAM e ainda mais RAM depois. Quanto espaço devo alocar para a partição de troca?
E especialmente: POR QUE essas recomendações para esses números?
(Nenhuma das respostas existentes aqui e aqui explica qualquer um dos motivos e está um pouco desatualizada se considerarmos 1 GB ou RAM e mais)
partitioning
swap
Tim
fonte
fonte
Respostas:
A resposta curta:
Defina seu arquivo de troca para:
round(sqrt(RAM))
se você não usar a hibernaçãoRAM+round(sqrt(RAM))
se você usa a hibernaçãoDefina seu
swappiness
10 em um desktop, mas não em um servidor!A resposta longa:
No passado:
A regra geral em uso nos últimos 25 anos tem sido um mínimo de 1xRAM e um máximo de 2xRAM, e é isso que você verá citado o tempo todo.
Esse mínimo foi atrasado na idade da pedra,
quando eu era adolescente e os dinossauros ainda vagavam pela Terra eporque a RAM era muito cara e você absolutamente precisava desse espaço de troca para poder realizar qualquer coisa.O máximo foi definido naquele momento por causa dos retornos decrescentes: é muito lento ter que trocar tanta memória, pois o acesso ao HDD é um fator 1000 mais lento que a RAM: bom em caso de emergência, mas não muito bom para o uso diário! Na época, quando você ficou sem espaço de troca, era hora de adicionar mais RAM! (o que ainda é verdade hoje).
No presente:
Se você não usa a hibernação e sua memória excede 1 GByte, a nova regra geral é
round(sqrt(RAM))
ondeRAM
está obviamente o tamanho da sua RAM em GB esqrt
a raiz quadrada. :-)Se você usar a hibernação, precisará trocar toda a quantidade de RAM + RAM já trocada no disco, assim a fórmula se tornará:
RAM+round(sqrt(RAM))
A regra dos retornos decrescentes ainda é válida hoje, mas a menos que você teste seu uso real, usar 2xRAM é apenas um desperdício de espaço em disco , portanto, não use o máximo, a menos que você fique sem espaço de troca usando as outras metodologias .
Tudo isso junto fornece a seguinte tabela: (últimas 3 colunas indicando espaço de troca)
O acima é apenas uma regra de ouro; não é a lei da gravidade!
Você pode violar essa regra (diferente da lei da gravidade) se o seu caso de uso específico for diferente!
Dica profissional: sempre aloque SWAP no início de um disco rígido, pois os cabeçotes precisam se mover menos no interior do disco.
Sim: nos SSDs, não importa mais onde você localiza a área de troca, pois eles usam tunelamento quântico em vez de cabeças móveis e os SSDs modernos usam todas as suas células de memória (mesmo o espaço não alocado) para impedir a degradação quântica.
Como testar se seu uso de swap é diferente da regra "genérica":
Basta executar:
que fornecerá uma lista de todos os programas em execução que foram trocados (com o que utiliza mais espaço de troca na parte superior)
Se você estiver usando mais de alguns KB: redimensione para mais do que o mínimo, caso contrário, não se preocupe ...
Se você estiver em um servidor, pare de ler agora: está tudo pronto!
Se você estiver em um cliente de desktop / laptop (não servidor), deseja que sua GUI seja a mais responsiva possível e só troque quando for realmente necessário . O Ubuntu foi otimizado para trocar cedo para uso do servidor, mas no seu cliente você deseja editar
gimp
rapidamente essa enorme imagem bruta de 250 mega pixels , portanto, definirswappiness
10 para impedir o kernel de trocar cedo demais, garantindo que isso não ocorra ' t trocar tarde demais:Se você tem um
sysctl.conf
arquivo,OU
Se você possui um
sysctl.d
diretório, mas nenhumsysctl.conf
arquivo, crie um novo arquivo:e em ambos os casos, adicione:
até o final do arquivo, salve o arquivo ( Ctrl+ XY+ Enterem nano) e execute:
para recarregar o parâmetro ou adotar a abordagem Window $ e reiniciar ... :-)
fonte
Necessidade de troca
A troca é útil por 3 razões:
Removendo a desordem da RAM. Do artigo em kernel.org:
Em outras palavras, os dados armazenados na RAM podem ser úteis apenas quando um processo foi iniciado (como o processo de inicialização) e, em seguida, simplesmente residir na RAM, criando um espaço desorganizado que pode ser usado para melhores propósitos.
Expande a quantidade de memória que os processos podem usar. Isto é bem entendido. Você não quer que o sistema fique sem memória e trava devido à falta dela. Por esse motivo específico, a troca deve existir, servindo como um recurso de proteção.
Hibernação: Quando um computador hiberna, o conteúdo da RAM entra no disco.
Valor do swap
Conhecendo a finalidade da troca e dependendo da quantidade de RAM da sua máquina, você pode escolher um tamanho de troca que se adapte à sua finalidade. Não há diretrizes específicas, apenas regras práticas que você pode usar para personalizar seu tamanho de troca para se adequar ao seu sistema .
Por exemplo, o linux.com recomenda:
Por experiência pessoal, eis o que eu faria:
Considerando uma máquina com 1 - 2 GB que não precisa hibernar e para uso casual, você pode ter espaço de troca de 1 a 2 GB. Meu PC com o Ubuntu 14.04 possui 1 GB de RAM e 2 GB de swap. O valor da troca nunca ultrapassa a fronteira de 800 MB e eu uso o meu PC apenas para navegar na web e fazer scripts.
Com um PC com mais de 2 GB e você não precisa hibernar, você pode manter a troca de 512 MB para 1 GB. Eu tenho um laptop com 15.04 que eu nunca hibernei e que possui um arquivo de troca ( não uma partição ) de 512 MB. A RAM em si tem 6 GB, mas nunca ultrapassa 2-3 GB. Novamente: uso casual.
O Cosmoscalibur e o Fabby já abordaram a troca no caso de você precisar hibernar, então não vou entrar nisso muito extensivamente. Minha humilde opinião é esta:
Se você planeja hibernar, o conteúdo da RAM precisará ser trocado, portanto, é necessário pelo menos o mesmo tamanho da sua RAM.
fonte