Você ficará bem, mesmo com 1GiB (e provavelmente menos) de swap. Meu computador de trabalho normalmente não usa mais que 140-150 MiB. Um gigabyte é um excesso de provisionamento para isso.
A menos que você calcule tarefas que exijam conjuntos de dados na ordem de centenas de gigabytes e (este é importante!) Os dados sejam acessados de maneira mais ou menos acessada uma vez, você nunca desejará uma troca muito maior que isso. Mas, novamente, o simples mapeamento de memória de um arquivo de dados funciona igualmente bem para esse aplicativo.
Mas mais troca ajuda mais, certo? Mais de tudo é sempre melhor!
Considere a diferença que uma troca de, digamos, 16GiB fará (ou pense em 64GiB). Se você nunca usar esses 16GiB, também não poderá deixá-los de lado. Mas se você usá-los, o que acontece? O disco, comparado com a memória principal, é extremamente lento. Mesmo com um SSD SATA-600, a transferência de 16GiB leva entre 30 e 40 segundos e 2-4 vezes mais em algumas outras configurações.
Agora alguém inevitavelmente objeta que você está paginando mais ou menos uma dúzia de páginas de 4kiB, e não 16GiB de uma só vez. Embora isso seja verdade, o ponto permanece. Se você precisar trocar e trocar algumas páginas, não precisará de 16GiB de swap, mas se precisar de 16GiB de swap, também será possível transferi-las (de uma maneira ou de outra).
Em teoria, 99,9% de todos os usuários poderiam usar uma máquina de 64GiB (ou qualquer máquina de 8 + GiB) sem qualquer troca e, provavelmente, nunca notariam algo faltando. No entanto, isso não é aconselhável.
Primeiro, ele é sub-ideal, porque o sistema operacional tem menos opções no que pode descartar quando a memória física está acabando. Há duas coisas que ele pode fazer: Troque algo que não é usado ou jogue fora as páginas do cache do buffer. Se você não tem troca, há apenas uma coisa que pode ser feita. Jogar fora as páginas do cache do buffer é inofensivo, mas pode afetar visivelmente o desempenho.
Segundo, os mapeamentos anônimos privados podem simplesmente falhar se não houver troca. Isso geralmente não acontece, mas, eventualmente, quando não há memória física suficiente para satisfazer a todos e não há troca, o sistema operacional tem apenas essa opção, exceto ...
Terceiro, o temido assassino do OOM pode entrar em ação O que significa que um processo mais ou menos aleatório é morto. Não, obrigado. Isso não é algo que você deseja que aconteça.
Com isso dito, conselhos como você precisa de uma troca X vezes a quantidade de RAM instalada vêm de pessoas que repetem algo que ouviram (e não entenderam!) De alguém que repetiu algo que ouviram (e não entenderam!) Décadas atrás.
A regra "use 2X your RAM" foi uma regra fácil de lembrar nas décadas de 1980 e 1990, nunca foi a "verdade de ouro" (apenas algo que funcionou bem para a maioria dos usuários), e não se aplica a todos os dias de hoje .
Você deve ter uma quantidade razoável de trocas que possa pagar com facilidade (digamos, um gigabyte), para que o sistema operacional possa paginar algumas coisas obsoletas e para que o mundo não termine imediatamente quando você pedir um pouco mais de memória. Mas é isso.
mmap
para alocar as páginas do conjunto de trabalho. Então, sua quantidade de swap será exatamente a quantidade necessária para o seu processo.