Questão Eu tenho 16GB de RAM. Preciso de 32GB swap?


Eu li muitos lugares que a regra geral para o espaço de troca é dobrar a quantidade de RAM física. No entanto, 32 GB parece muito. Eu preciso tanto assim? Eu preciso disso com essa grande quantidade de RAM física?


253
2018-06-16 18:52


origem


para ser completamente honesto aqui ... você nem precisa do SWAP, você já tem 16GB de RAM, a menos que você pense seriamente que vai ficar sem RAM, você não precisa dele. - Uri Herrera
Essa "regra geral" se originou em uma época em que a maioria dos PCs tinha RAM em megabytes de um dígito. Não tem sido significativo há mais de 10 anos, mas apenas ... não vai ... morrer! - Nicholas Knight
@ TheX: talvez em alguns anos, quando as pessoas virem o seu comentário, elas vão rir :) - Benoit
Embora as duas perguntas sejam semelhantes, a outra não menciona a hibernação ... - Ashu
na verdade eu percebi que não é tão ruim, sua swap = RAM ao invés de swap = 2 x RAM - icc97


Respostas:


Depende inteiramente do que você planeja fazer com a máquina. Por exemplo, se fosse um servidor Sap, então sim, eu adicionaria 32gb swap (temos caixas no trabalho com 128gb de ram e 32gb de swap). Se você estivesse manipulando imagens e vídeos massivos, faria sentido ter uma pequena troca. 32gb é provavelmente um exagero.

No entanto, eu não diria troca zero.

No caso improvável de que você fique sem RAM - talvez abrindo um arquivo grande, percebe uma aba de longa duração no Firefox, não importa, nesse caso seu killer de OOM do kernel entrará em ação e começará a matar aplicações para recuperar a memória. Nessas circunstâncias, é perfeitamente possível que você perca dados quando os aplicativos são mortos. No entanto, se você tiver um pouco de swap, o sistema continuará, pegando swap e permitindo que o sistema continue. O sistema fica mais lento à medida que a troca pesada acontece, você percebe e investiga antes que toda a troca seja esgotada. Também o disco é muito barato, então porque não trocar?

Qualquer um que diga "você não precisa de swap" sem perguntar o que você está realmente fazendo com o seu computador está fazendo suposições. Enquanto você pode muito bem fazer muito pouco com seu computador que come RAM, ainda é melhor fazer as perguntas sobre o que você está planejando fazer com ele antes de fazer o julgamento precipitado que você não precisa de swap. Na minha humilde opinião


172
2018-06-16 21:33



Você pode elaborar por que disse que não a troca de zero? Outros parecem concordar que não há necessidade disso, a menos que eu queira hibernar (o que não faço). - Tamás Szelei
@popey - Então, o que acontece se o sistema ficar sem swap? De volta à estaca zero, lá. - Michael Kjörling
Tendo um sistema com 8 GB de RAM, posso dizer isso: sempre que um programa é executado e mergulhado em swap, meu sistema quase não responde. É melhor deixar o assassino OOM rodar do que ter que forçar uma reinicialização impura de qualquer maneira; se você tem muita memória RAM, a menos que você esteja fazendo muito trabalho pesado que requer gigabytes de RAM, você vai ficar bem. Mesmo quando você tem trabalho pesado, geralmente há uma maneira de processá-lo que não requer espaço de troca (que é menos eficiente do que a manipulação de dados grandes sã no próprio aplicativo). - Michael Trausch
O espaço pode ser barato em HDs, mas em SSDs não é barato; Não tão caro quanto DAM, mas ainda assim. - Mircea Chirea
Se seus sistemas usam swap de 31GB e você necessidade o último GB, eles provavelmente serão muito sloooow. IMHO se você constantemente precisa de mais de 2GB swap você deve instalar mais memória RAM. - Martin Schröder


Aqui está uma ótima recomendação do RedHat: Espaço Recomendado para Troca de Sistema

Um trecho do mesmo link:

Nos últimos anos, a quantidade recomendada de espaço de troca aumentou linearmente com a quantidade de RAM no sistema. Mas como a quantidade de memória nos sistemas modernos aumentou para centenas de gigabytes, agora é reconhecido que a quantidade de espaço de troca que um sistema precisa é uma função da carga de trabalho de memória em execução nesse sistema. No entanto, dado que o espaço de troca é geralmente designado no momento da instalação, e que pode ser difícil determinar antecipadamente a carga de trabalho de memória de um sistema, recomendamos determinar a troca do sistema usando a tabela a seguir.

Tabela atual (a partir de dezembro de 2017):

Amount of RAM in the system   Recommended swap space         Recommended swap space 
                                                             if allowing for hibernation
---------------------------   ----------------------------   ---------------------------
2GB of RAM or less            2 times the amount of RAM      3 times the amount of RAM
2GB to 8GB of RAM             Equal to the amount of RAM     2 times the amount of RAM
8GB to 64GB of RAM            At least 4 GB                  1.5 times the amount of RAM
64GB of RAM or more           At least 4 GB                  Hibernation not recommended

Tabela original:

Amount of RAM in the System     Recommended Amount of Swap Space
4GB of RAM or less              a minimum of 2GB of swap space
4GB to 16GB of RAM              a minimum of 4GB of swap space
16GB to 64GB of RAM             a minimum of 8GB of swap space
64GB to 256GB of RAM            a minimum of 16GB of swap space
256GB to 512GB of RAM           a minimum of 32GB of swap space 

224
2018-06-16 22:22



A raiz quadrada da RAM em GB, arredondada para uma potência de dois. - starblue
Há inconsistências na tabela "nova" - de acordo com o guia de 16GB de espaço de troca é apropriado para um sistema de 32GB, mas 4GB é apropriado para um sistema de 64GB ... - Charlie
@Charlie Isso porque é improvável que você fique sem memória de trabalho com 64GB de RAM. - poepje
@Charlie Não é sobre a quantidade de memória do sistema, é sobre a possibilidade de esgotar a memória do sistema e quão grande será esse déficit. - Phill Healey


Argh. As respostas neste post são muito erradas, e isso surge como um dos primeiros resultados em uma pesquisa no Google por "Quanto swap?"

Primeiro, um bom ponto de referência é o FAQ de troca do Ubuntu

Esta FAQ faz um ponto importante que ninguém aqui menciona, e isso é (grifo meu)

Às vezes, um programa grande (como o OpenOffice, o Neverwinter Nights ou um editor de vídeo) faz com que todo o sistema precise de memória extra. Um número significativo de páginas usadas por esses programas grandes durante a inicialização só pode ser usado para inicialização e nunca mais usado novamente. O sistema pode trocar essas páginas e liberar a memória para outros programas ou mesmo para o cache de disco. Nesses casos, a troca será usada para ajudar o sistema a lidar com qualquer carga extra.

Assim, swap não é apenas para hibernação! Esta atividade, trocando páginas não utilizadas, pode ser benéfica em alguns cenários e prejudicial em outros. Benéfico porque pode liberar memória para o sistema usar em outro lugar, mas prejudicial quando essa troca é muito agressiva, e troca as páginas que você realmente quer. Isso é especialmente verdadeiro em um sistema de desktop em que os aplicativos podem ficar inativos por longos períodos, mas o usuário ainda espera um desempenho imediato ao trazê-lo de volta à vida. O controle de quão agressivo isso é, é referido como permuta

O Ubuntu Swap FAQ discute isso levemente sob O que é swappiness e como posso alterá-lo? O valor padrão em um sistema Ubuntu é 60, enquanto o FAQ recomenda um valor de 10 para uma máquina desktop.

Então, eu diria que é geralmente É muito importante não ter um sistema com absolutamente nenhum espaço de troca, como algumas pessoas estavam recomendando nesta questão, a menos que você conheça determinados cenários de uso muito específicos para o seu sistema e esteja ciente das conseqüências que ele poderia ter. (Pessoalmente, não há nenhuma situação onde eu iria executar um sistema sem swap) Em um cenário de falta de memória sem swap, o sistema irá começar a matar processos (geralmente aquele que causou a OOM)


53
2018-06-08 14:08



Vote pelo link para o FAQ, e por introduzir alguma sanidade em meio às opiniões e evidências anedóticas. - Marty Fried
O ponto é que ainda não existem programas tão grandes e seu link dizendo exatamente o oposto disso. Veja isso help.ubuntu.com/community/SwapFaq#How_much_swap_do_I_need.3F - Anwar
Para aliviar a memória de carga extra, eu preferiria zRAM e swappiness = 60, em vez do tradicional HDD swap. - Barafu Albino


Provavelmente não. Se você planeja hibernar seu computador (suspender para o disco), precisará de pelo menos 16 GB. Se você não hibernar, é suficiente deixar alguns gigabytes para swap (máximo de 4 a 8).


24
2018-06-16 18:56



Eu não tenho nenhuma troca e posso hibernar / suspender meu laptop muito bem. - scribu
@scribu isso parece interessante. Eu suspeito que há talvez um arquivo de troca em algum lugar porque para desligar completamente o seu laptop (ou seja, desligue e remova a bateria) o conteúdo da RAM deve ser salvo - bandi
É bem possível hibernar com 16gb de ram e 4gb de swap: você só precisa estar usando menos de 4gb quando for para o modo de hibernação. - psusi


Da experiência posso dizer isto:

Pelo que eu vi usando 4GB de RAM por 3 anos, o Ubuntu teve um uso de swap de cerca de 60MB, mas apenas ao fazer algumas tarefas muito intensivas. Um par de semanas atrás eu comecei a usar um PC que tinha 16GB de RAM e o uso de swap ficou em 0% para sempre. Eu fiz várias compilações, renderização de vídeo e outras tarefas intensivas. Nunca houve uma mudança no swap. Nem mesmo uma mudança de 1KB.

Basicamente, no Ubuntu, quanto mais RAM de memória você tiver, menor a probabilidade de usar ou precisar de swap para qualquer tarefa. 16GB de RAM, ou até 8GB de RAM é mais que suficiente. Eu fiz com o 16GB PC 8 Virtualbox PCs (cada um entre 1GB a 2GB de RAM). Eu compilei e renderizei um vídeo 720p e nem mesmo nessas condições a troca foi alterada.

Com isso dito, a regra do dobro de memória RAM não deve se aplicar em sistemas baseados em Linux, ainda mais se você tiver mais memória. No entanto, você deve ter o mesmo tamanho de swap igual ao seu tamanho de ram ou se estiver planejando hibernar, já que o processo de hibernação agarra tudo e o coloca em swap, e é por isso que você precisa de um tamanho mínimo igual ao tamanho da sua ram para swap.

O outro detalhe é que alguns aplicativos (não todos) ainda vão forçar a leitura de swap. Então, ter um pouco é bom. Desativar completamente é muito ruim no caso de você chegar ao ponto de falta de memória ou OOM. Neste ponto, se você não tiver swap, não há como o kernel poder trocar / usar diferentes usos de aplicativos de memória RAM e eventualmente começar a matar os menos usados.

Se isso ajudar na tomada de decisões do desktop doméstico, depois de atualizar essa resposta em mais de quatro anos, usei um PC ram de 16 gb, 32 gb e agora um de 64 gb. Testar com apenas 128MB de swap revelou que eu não precisava de swap maior, exceto se eu quisesse hibernar. Eu usei ambientes de nuvem neles, lxc, virtualbox, vinho, o nome dele. Eu fiz vídeos com openshot, kazam, handbrake, audácia. Eu usei o gimp, o blender, o Inkscape e até mesmo o pacote completo do LibreOffice. Eu até joguei no vapor e em nenhum desses cenários a troca foi usada. Naturalmente, ele acabará por ser usado se você acabar usando a quantidade total de memória ram de uma forma ou de outra, mas, em geral, quanto mais ram você tiver, menos troca será necessária.

Apenas meus 2 centavos.


12
2018-02-13 06:50



Cara, eu amo o jeito que você explicou e experimentou ... Essa é uma resposta maravilhosa - aidonsnous


Não, você não precisa de 32 GB, desde que não use recursos como suspender para o disco.


8
2018-06-16 18:58





Na maioria dos casos, eu diria que você não precisa de nada. Talvez, se você editar arquivos de imagem muito grandes ou algum outro aplicativo que precise de muito memória RAM, possa precisar de alguns.

Eu nunca vi nenhum usado no meu sistema, semelhante ao seu. Na verdade, ao mesmo tempo, eu tinha desativado por uma semana ou duas acidentalmente, e nunca notei nenhum problema. Mas eu ainda mantenho cerca de 5GB para minha unidade de swap, principalmente porque eu tenho mais de 1TB disponível, e não uso todo o espaço como ele é.


5
2018-05-13 02:00



Eu me lembro de ver isso usado uma vez, quando eu usei o Wubi e eu hibernei. - Vladashram
Se você usar a hibernação, isso pode ser uma boa razão para ter espaço de troca suficiente para salvar o estado da máquina. Eu acho que você nunca precisaria de mais do que a quantidade de memória disponível, a menos que você esteja usando o suficiente no momento para usar o espaço de swap já. - Marty Fried