Li muitos lugares em 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 disso? Preciso disso com essa grande quantidade de RAM física?
Li muitos lugares em 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 disso? Preciso disso com essa grande quantidade de RAM física?
Respostas:
Depende inteiramente do que você planeja fazer com a máquina. Por exemplo, se fosse um servidor Sap, sim, eu adicionaria uma troca de 32 GB (temos caixas trabalhando com 128 GB de RAM e 32 GB de swap). Se você estava manipulando imagens e vídeos enormes, faz sentido trocar um pouco. 32gb é provavelmente um exagero.
No entanto, eu não diria troca zero.
No caso improvável de você ficar sem RAM - talvez abrir um arquivo grande, abrir uma aba de execução longa no firefox, não importa; nesse caso, o seu assassino de OOM do kernel entrará em ação e começará a matar aplicativos para recuperar a memória. Nessas circunstâncias, é perfeitamente possível que você perca dados à medida que os aplicativos são mortos. No entanto, se você tiver um pouco de troca, o sistema continuará, pegando a troca e permitindo que o sistema continue. O sistema fica mais lento à medida que a troca pesada acontece, você percebe e investiga antes que toda troca se esgote. Também o disco é muito barato, então por que não trocar?
Quem diz "você não precisa de troca" sem perguntar o que você está realmente fazendo com o seu computador está fazendo suposições. Embora você possa fazer muito pouco com o computador que consome memória RAM, ainda é melhor fazer perguntas sobre o que você planeja fazer antes de fazer o julgamento precipitado de que não precisa "trocar". Na minha humilde opinião
Aqui está uma recomendação muito boa da RedHat: Espaço recomendado para troca do 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. Porém, como a quantidade de memória nos sistemas modernos aumentou para centenas de gigabytes, agora é reconhecido que a quantidade de espaço de troca necessária para um sistema é uma função da carga de trabalho de memória em execução nesse sistema. No entanto, como o espaço de troca geralmente é designado no momento da instalação e pode ser difícil determinar antecipadamente a carga de trabalho da memória de um sistema , recomendamos determinar a troca do sistema usando a tabela a seguir.
Tabela atual (em 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
Argh. As respostas nesta postagem são muito erradas e isso aparece como um dos primeiros resultados de uma pesquisa no Google por "Quanto de troca?"
Primeiro, um bom ponto de referência é o Ubuntu Swap FAQ
Este FAQ faz um ponto importante que ninguém menciona aqui, e que é (grifo meu)
Às vezes, um programa grande (como o OpenOffice, 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 sua inicialização só pode ser usado para inicialização e nunca mais ser usado. O sistema pode trocar essas páginas e liberar memória para outros programas ou mesmo para o cache do disco . Nesses casos, o swap será usado para ajudar o sistema a lidar com qualquer carga extra.
Então, swap não é apenas para hibernação! Essa 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 deseja. Isso é especialmente verdade em um sistema de desktop em que os aplicativos podem ficar inativos por longos períodos de tempo, mas o usuário ainda espera um desempenho imediato ao trazê-lo de volta à vida. O controle de quão agressivo isso é é chamado de swappiness
As Perguntas frequentes do Ubuntu Swap discutem isso levemente em O que é swappiness e como eu o altero? O valor padrão em um sistema Ubuntu é 60, enquanto o FAQ recomenda um valor de 10 para uma máquina de desktop.
Então, eu diria que geralmente é muito importante não ter um sistema com absolutamente nenhum espaço de troca, como algumas pessoas recomendam sobre essa questão, a menos que você conheça certos cenários de uso muito específicos para o seu sistema e esteja ciente das conseqüências poderia ter. (Pessoalmente, não há situação em que eu executaria um sistema sem troca) Em um cenário de Memória insuficiente sem troca, o sistema começará a eliminar processos (geralmente aquele que causou a OOM)
Provavelmente não. Se você planeja hibernar o computador (suspender para o disco), precisará de pelo menos 16 GB. Se você não hibernar, basta permitir alguns gigabytes para troca (4-8 no máximo)
Por experiência, posso dizer o seguinte:
Pelo que eu vi usando 4 GB de RAM por 3 anos, o Ubuntu teve um uso de troca de cerca de 60 MB, mas apenas ao realizar algumas tarefas muito intensivas. Há algumas semanas, comecei a usar um PC com 16 GB de RAM e o uso de swap permaneceu em 0% para sempre. Fiz várias compilações, renderização de vídeo e outras tarefas intensivas. Nunca houve uma mudança na troca. Nem mesmo uma alteração de 1 KB.
Basicamente, no Ubuntu, quanto mais memória RAM você tiver, menor será a probabilidade de você usar ou precisar trocar por qualquer tarefa. 16 GB de RAM ou até 8 GB de RAM são mais que suficientes. Eu fiz com os PCs Virtualbox PC de 16 GB 8 (cada um entre 1 GB a 2 GB de RAM). Compilei e renderizei um vídeo 720p e nem nessas condições a troca foi alterada.
Com isso dito, a regra do dobro da memória ram não deve ser aplicada 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 tamanho do seu ram ou se planeja hibernar, pois o processo de hibernação pega tudo no ram e o coloca no swap, e é por isso que você precisa de um tamanho mínimo igual ao tamanho do seu ram para troca.
O outro detalhe é que alguns aplicativos (não todos) ainda serão forçados a ler da troca. Então, ter um pouco é bom. Desativá-lo 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 / inutilizar diferentes usos de aplicativos ram e, eventualmente, começará a matar os menos usados.
Se isso ajuda na tomada de decisão do desktop doméstico, após atualizar essa resposta em mais de 4 anos, usei um PC de 16GB, 32GB e agora um PC de RAM de 64GB. Testes com apenas 128 MB de swap revelaram que eu não precisava de uma troca maior, exceto se quisesse hibernar. Eu usei ambientes de nuvem neles, lxc, virtualbox, wine, etc. Criei vídeos com openshot, kazam, freio de mão, audácia. Eu usei gimp, blender, Inkscape e até mesmo o pacote completo do LibreOffice. Eu até joguei no vapor e em nenhum desses cenários a troca foi usada. É claro que, eventualmente, ele será usado se você acabar usando a quantidade total de ram de uma maneira ou de outra, mas, em geral, quanto mais ram você tiver, menor será a troca.
Apenas meus 2 centavos.
Não, você não precisa de 32 GB, desde que não use recursos como suspender no disco.
Na maioria dos casos, eu diria que você não precisa de nenhum. Talvez se você editar arquivos de imagem muito grandes ou algum outro aplicativo que precise de muita memória RAM, talvez seja necessário.
Eu nunca vi nenhum usado no meu sistema, semelhante ao seu. De fato, ao mesmo tempo, eu o desativei por uma ou duas semanas acidentalmente e nunca notei nenhum problema. Mas ainda mantenho cerca de 5 GB para minha unidade de swap, principalmente porque tenho mais de 1 TB disponível e não uso todo o espaço existente.
Se o seu ram for superior a 1 GB, geralmente é suficiente para o ubuntu. A regra "Trocar = RAM x2" é para computadores antigos com 256 ou 128mb de ram.
Portanto, 1 GB de swap geralmente é suficiente para 4 GB de RAM. 8 GB seria demais.
Se você usa o hibernate, é seguro ter tanto swap quanto sua quantidade de RAM.
Para uma regra geral sobre quanto swap deve ter, leia aqui:
https://help.ubuntu.com/community/SwapFaq
No seu caso, eu diria que 4 GB seriam suficientes para corresponder à sua RAM.
Você só precisa trocar se quiser usar a hibernação para o resto, isso é um desperdício de espaço no seu disco rígido.
sudo swapoff -a
e, em seguida, adormecer seu laptop.
Eu tenho um laptop com 4 GB de RAM e Ubuntu 16.04. Após a inicialização, ele consome cerca de 1 GB de RAM e, mesmo assim, o Inkscape (por exemplo) não será executado (o monitor do sistema mostra mais de 50% da RAM livre). O Inkscape congela Depois de aplicar um arquivo de troca, ele é executado conforme o esperado, mesmo com nenhum byte de troca sendo usado). Então, eu recomendo uma partição de troca (ou arquivo de troca). Sobre o tamanho dele, você pode usar a regra david6.
Do SwapFaq do Ubuntu :
Programas que consomem memória Às vezes, um programa grande (como o LibreOffice, 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 sua inicialização só pode ser usado para inicialização e nunca mais ser usado. O sistema pode trocar essas páginas e liberar memória para outros programas ou mesmo para o cache do disco. Nesses casos, o swap será usado para ajudar o sistema a lidar com qualquer carga extra.
Hibernação (suspensão em disco) O recurso de hibernação (suspensão em disco) grava o conteúdo da RAM na partição swap antes de desligar a máquina. Portanto, sua partição de swap deve ter pelo menos o tamanho do seu tamanho de RAM. A implementação de hibernação atualmente usada no Ubuntu, swsusp, precisa de uma partição de troca ou suspensão. Ele não pode usar um arquivo de troca em um sistema de arquivos ativo.
Circunstâncias imprevisíveis Eventos imprevisíveis podem e acontecerão (um programa enlouquecendo, alguma ação precisando de muito mais espaço do que você pensava ou qualquer outra combinação imprevisível de eventos). Nesses casos, o swap pode fornecer um atraso extra para descobrir o que aconteceu ou para concluir o que você está trabalhando.
Otimizando o uso da memória Como os discos rígidos mecânicos são consideravelmente mais lentos que a RAM (SSD - Solid State Drive - o armazenamento não é tão lento quanto as unidades físicas, mas ainda mais lento que a RAM), quando você precisa de um arquivo (seja um arquivo de dados como um vídeo, executáveis como Firefox ou bibliotecas), o kernel do Linux lê o arquivo na RAM e o mantém lá, para que da próxima vez que você precisar, ele já esteja na RAM e o acesso aos dados seja muito mais rápido. As partes da RAM que aceleram a leitura do disco são chamadas de "memória em cache". Você notará que eles fazem uma enorme diferença em termos de capacidade de resposta. O kernel do Linux move automaticamente a RAM reservada pelos programas - mas não é realmente usada - para o swap, para que possa servir ao melhor propósito de estender a memória em cache.
Otimizando o desempenho da troca Como o espaço de troca usa um dispositivo de disco, isso pode causar problemas de desempenho em qualquer sistema que use espaço de troca significativamente, porque o próprio sistema também pode estar usando o mesmo dispositivo de disco ao mesmo tempo em que é necessário para operações de troca. Uma maneira de reduzir esse problema é ter espaço de troca em uma unidade física diferente, para que a competição por esse recurso seja reduzida ou eliminada.
Para menos de 1 GB de memória física (RAM), é altamente recomendável que o espaço de troca seja, no mínimo, igual à quantidade de RAM. Além disso, é recomendável que o espaço de troca seja no máximo duas vezes a quantidade de RAM, dependendo da quantidade de espaço em disco disponível para o sistema devido aos retornos decrescentes.
Para sistemas mais modernos (> 1 GB), seu espaço de troca deve ser no mínimo igual ao tamanho da memória física (RAM) "se você usar a hibernação"; caso contrário, você precisará de um mínimo de round (sqrt (RAM)) e um máximo de duas vezes a quantidade de RAM. A única desvantagem de ter mais espaço de troca do que você realmente usará é o espaço em disco que você estará reservando para ele.
Os "retornos decrescentes" significam que, se você precisar de mais espaço de troca do que o dobro do tamanho da sua RAM, é melhor adicionar mais RAM, pois o acesso à unidade de disco rígido (HDD) é cerca de 10³ mais lento que o acesso à RAM, algo que levaria 1 segundo, de repente leva mais de 15 minutos! E ainda mais de um minuto em um SSD (Solid State Drive) rápido ...
Cenários de exemplo
RAM(GB) No hibernation With Hibernation Maximum 1 1 2 2 2 1 3 4 3 2 5 6 4 2 6 8 5 2 7 10 6 2 8 12 8 3 11 16 12 3 15 24 16 4 20 32 24 5 29 48 32 6 38 64 64 8 72 128 128 11 139 256
Eu acho que você entendeu o contrário. Recomendação SWAP , você precisaria de ~ 16GB. Portanto, o SWAP deve ter 1/2 do tamanho real da RAM. Mas ainda há muito espaço. Depende do que você precisa. Eu diria que, se você não usar o "hibernate", mantenha cerca de ~ 4 GB a ~ 8 GB se puder pagar o espaço em disco. Como você tem 16 GB, suponho que você esteja usando um computador que precise de recursos poderosos ... talvez seja benéfico ter também SWAP de 16 a 32 GB.
Eu tenho 2 GB de RAM e 1 GB de SWAP. Eu me dou muito bem com isso, mas essa é apenas a minha opinião. Veja os outros comentários / sugestões e veja o que eles dizem.
Não consegui encontrar referências para citar aqui, mas se você usar um aplicativo em que precisa trocar dados inteiros na RAM, pelo menos precisará de 'tamanho da RAM + 128 MB' ou '1,25 vezes o tamanho da RAM' (i esqueceu qual estava correto) supondo que você tenha RAM com mais de 2 GB. Se a RAM tiver 2 GB ou menos, é recomendável ter o dobro do tamanho da RAM como swap. Segui esta recomendação na minha organização anterior para o IBM AIX com base em um documento da IBM. Acredito que isso seja válido para a maioria dos * nix, pois o uso de swap é mover dados da RAM com segurança, caso a RAM não seja suficiente para manipular os dados a serem carregados na memória. O comando 'free' pode ser usado para avaliar quanto swap é usado na realidade.
Eu tenho um laptop Mac, que deixo por meses. Embora muito melhor que o Windows, a memória se infiltra, principalmente com o seu navegador, se você a mantiver. Então, eventualmente, a memória se enche. Agora, se você trocar, como outras pessoas notaram, poderá sobreviver, perceber e matar alguma coisa. Mais ainda, se você tiver trocado, algumas páginas serão trocadas e você poderá continuar.
Portanto, se você planeja deixar a máquina em funcionamento por um longo tempo, o swap é uma maneira útil de liberar memória do lixo zumbi. Concedido que você levará mais tempo para preencher 16g do que eu com 3GB, mas ainda é bom. Para este fim, 4Gb servirá.
Mantenha isso em mente -
Normalmente, você deve dimensionar seu espaço de troca para aproximadamente 2x da memória principal para sistemas com menos de 2 GB de RAM ou aproximadamente 1x da memória principal se tiver mais
Portanto, se você tem 4 Gb de RAM, nunca precisará trocar, a menos que a troca de hibernação
necessária seja de 3 a 3,5 Gb, não mais do que isso .
Portanto, use seu bom senso e não perca espaço em disco
Se você está construindo arquivos muito grandes, digamos, por exemplo, se você está construindo sistemas de tradução automática em um laptop (sim, por que você quer fazer isso? Eu posso dizer que meus professores estão me fazendo ;-)) a resposta é um claro sim, na verdade, neste momento, me arrependo de não fazer troca de 32GB ....
Para uso casual do Ubuntu no escritório e na internet, você nunca usará nem 2 GB de swap, mas, na realidade, não há uma resposta clara, tudo depende do que você fará no seu computador ...
Muita informação e variação de opinião.
amount of RAM recommended swap with hibernation
---------------- ---------------- ----------------
less than 4GB 2x RAM size 3x RAM size
up to 8GB 4GB 2x RAM size
up to 16GB 4GB 1.5x RAM size
16GB or more 4GB No extra needed
Parece que ninguém mencionou outro motivo para ter um espaço de troca significativo é diminuir consideravelmente a velocidade do sistema, em vez de deixar de executar programas quando você começa a ficar sem memória. Se você possui um balanceador de carga à frente que redireciona em caso de falha, mantenha o swap pequeno (por exemplo, 1 GB). Se você deseja que os programas desacelerem primeiro, consideraria a raiz quadrada de 4 GB ou mais do tamanho da memória e, se você quiser. para realmente desacelerar antes que as coisas morram, mantenha um tamanho mínimo de memória de 1,25 (desde que humanos impacientes não desista primeiro - isso seria mais apropriado para trabalhos em segundo plano).
Como padrão, configuro 1 GB para minhas máquinas de desenvolvimento e produção; então, não importa quanta ou pouca memória real elas tenham, elas têm o suficiente para compilar todos os programas que eu quero e trocar programas praticamente nunca usados para usar o liberou memória para o buffer do disco.
Em comparação, eu tenho 64 GB de swap no meu laptop de 32 GB, o que é um pouco exagerado, mas eu queria ter certeza de que ele continuaria funcionando mesmo que lentamente, e eu sabia que iria rodar várias máquinas virtuais com fome de memória. Um efeito inesperado é que, quando você tem mais de 32 GB de memória, o retorno da hibernação (que recarrega 32 GB de memória) é visivelmente mais lento que uma inicialização a frio.
Não, você definitivamente não precisa de 32 GB. Como regra para um sistema de desktop, eu diria que sua troca deve estar entre 4 GB e RAM física + alguns GB . Portanto, para 16 GB de RAM física, a troca pode ser de 4 a 18 GB, talvez.
O material que você precisará trocar no espaço de troca será aproximadamente igual à quantidade de RAM física em uso pelos aplicativos que permanecem residentes - ou seja, serviços do sistema e aplicativos que permanecem em execução enquanto você os utiliza (em oposição a tarefas executadas uma vez então saia). Em um sistema desktop, digamos que você pode deixar em aberto um navegador, processador de texto, programa de email e editor de gráficos ou vídeo enquanto trabalha em outra coisa. Aqueles podem ocupar mais de 2 GB, talvez mais de 4 GB. Talvez 6GB de swap sejam apropriados.
Como regra geral, não é demais ter também alguns GB a mais do que você precisa. A troca geralmente não será usada se você tiver muita memória RAM, mas ajuda na ocasião em que algum processo está usando uma quantidade excessiva e você começa a ficar baixo, e pode impedir o processo de morte do sistema.
Nota: se você quiser usar a hibernação do SO, precisará de todos os 16 GB, conforme mencionado, mas os computadores modernos não se beneficiam muito da hibernação. Se você possui um SSD rápido, a inicialização pode ser mais rápida ou mais rápida do que a retomada do hibernate, e os computadores modernos usam energia desprezível enquanto estão no modo de suspensão, pois o uso de energia beneficiado pelo hibernate não é um fator importante.