it-swarm-pt.tech

Quanto espaço SWAP em um sistema de 2-4 GB?

Como devo decidir qual tamanho fazer minha troca em uma nova máquina Linux (Debian) com 2-4 GB de RAM? Eu realmente preciso de espaço de troca?

53
C. Ross

Existem várias maneiras de descobrir o quanto de troca é usado em uma máquina. As sugestões comuns usam fórmulas baseadas em RAM, como 2 x RAM, 1,5 x RAM, 1 x RAM, 0,75 x RAM e 0,5 x RAM. Muitas vezes as fórmulas variam de acordo com a quantidade de RAM (portanto, uma caixa com 1 GB de RAM pode usar 2 x RAM swap (2 GB), enquanto um Uma caixa com 16 GB de RAM pode usar 0,5 x RAM swap (8 GB).

Outra coisa a considerar é para que a caixa será usada. Se você tiver um grande número de processos em execução simultânea em execução na caixa, mas um número significativo deles permanecerá ocioso por períodos de tempo, a adição de troca extra faz sentido. Se você estiver executando um pequeno número de processos críticos, a adição de troca extra faz sentido (isso pode parecer contra-intuitivo, mas vou explicar em um minuto). Se você estiver executando uma caixa como área de trabalho, a adição de troca extra faz sentido.

Quanto a se você deve incluir swap, sim, você deve. Você sempre deve incluir espaço de troca, a menos que realmente saiba o que está fazendo e tenha realmente uma boa razão para isso.

Veja, da maneira como o kernel do Linux funciona, o swap não é usado apenas quando você esgotar toda a memória física. O kernel do Linux pega aplicativos que não estão ativos (inativos) e, após um período de tempo, move o aplicativo para trocar da memória real. O resultado é que, quando você precisar desse aplicativo, haverá um atraso momentâneo (geralmente apenas um ou dois segundos) enquanto a memória do aplicativo é lida novamente da troca para a RAM. E isso geralmente é uma coisa boa.

Isso permite colocar os aplicativos inativos em "suspensão", dando aos aplicativos ativos acesso a RAM adicional. Além disso, o Linux usará todos os _ disponíveis (não alocados) RAM em uma máquina como cache de disco, tornando a maioria das atividades (lentas) do disco mais rápidas e mais responsivas. A troca de processos inativos oferece mais cache de disco e torna sua máquina mais rápida.

Por fim, convenhamos, o espaço em disco é barato. Muito barato. Não há realmente nenhuma boa razão para não roubar um pedaço (relativamente) pequeno de espaço para troca. Se eu estivesse executando com 2 GB - 4 GB de RAM em uma máquina, provavelmente configuraria meu espaço de troca para ser pelo menos igual à RAM. Se tivesse menos de 2 GB de RAM, ainda assim eu usaria pelo menos 2 GB de troca.

ATUALIZAÇÃO: Como um excelente comentário mencionado (e eu esqueci de incluir), se você estiver executando um laptop ou uma área de trabalho que queira colocar no modo 'hibernar' (Suspender para o disco), então você sempre deseja trocar pelo menos a quantidade de memória que você possui. O espaço de troca será usado para armazenar o conteúdo do RAM no computador enquanto ele 'dorme'.

54
Christopher Cashell

Red Hat recomenda a seguinte fórmula para servidores com muita memória RAM:

if MEM < 2GB then SWAP = MEM*2 else SWAP = MEM+2GB

Se o seu sistema tiver 1 GB de RAM, sua troca será de 2 GB, para 16 GB, 18 GB.

17
PEra

Resposta tardia e acho que isso foi abordado na resposta selecionada, mas há algumas informações boas e facilmente digeríveis na resposta fornecida por @ssapkota aqui (copiar/colar abaixo).

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. 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 necessária para o sistema é uma função da carga de trabalho da memória em execução no sistema.No entanto, dado que o espaço de troca geralmente é designado no momento da instalação e pode ser Para 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 2012):

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            0.5 times the amount of RAM    1.5 times the amount of RAM
64GB of RAM or more           4GB of swap space              No extra space needed

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 
12
ubiquibacon

Depende bastante do que você está fazendo com isso. Com a carga de trabalho apropriada, você não precisa de nenhum espaço de troca, tenha 16 MB ou 16384 MB de RAM; na verdade, a maioria dos dispositivos Linux embarcados é executada sem nenhum (o que eles trocariam?)

Considerando os preços RAM, provavelmente você não usará swap para computação ativa. Então, o que resta?

  1. Nas áreas de trabalho, o espaço de troca é usado para a suspensão em disco. Esse espaço de troca precisa ter cerca de 1 × RAM, dependendo de quão bem o conteúdo da memória é compactado.
  2. Permitindo que tarefas inativas sejam removidas de RAM para dar mais espaço ao cache do disco
  3. O mesmo, mas para permitir que processos ativos o usem em vez de heap/stack

(2) e (3) dependem fortemente da carga de trabalho. Nos meus desktops, posso usar facilmente 4 GB + em (2), deixando vims, xterms etc. em execução em outros desktops.

Na maioria dos servidores que eu corro, quase nunca há algo trocado e 1–2 GB de swap (independentemente de RAM) parece OK.

8
derobert

Bem, isso depende de quais serviços e aplicativos você planeja executar. Você pode observar o uso da memória com free -m e ajustar sua partição de swap de acordo com o tempo.

Aqui está um discussão interessante sobre o assunto. Pessoalmente (e depois de ler essa discussão), eu ainda deixaria cerca de 1 GB para troca.

4
Ivan

O espaço de troca pode servir como "preenchimento" quando você fica sem memória imediatamente.

Quando um processo consome todo o disponível RAM e, em alguns casos, a máquina funciona muito lentamente, mas você geralmente poderá se recuperar. Também será mais fácil ver qual processo está causando o problema .

2
starblue

Não consigo falar diretamente com o Debian, mas sei que quando você ultrapassa os 2 GB de RAM, a equação 2xRAM original muda, geralmente até 1xRAM. Eu acho que quando você atinge 16 GB RAM) a sugestão diminui novamente para 0,75xRAM.

Obviamente, achei isso verdade para o Solaris e, na verdade, é a métrica usada para instalações do Oracle, portanto, o YMMV, dependendo dos aplicativos em que você estará executando lá.

2
Milner

Eu sempre faço tanto swap (pelo menos) quanto RAM. Apenas no caso de eu querer hibernar a máquina algum dia. Pode trabalhar com menos, mas também não.

Hoje em dia, o espaço no disco rígido é barato, portanto, não hesite em ceder espaço para troca.

2
Martin C.

Ao longo dos anos, segui a regra de que, para máquinas Windows, você tem tanto swap quanto RAM ... No Novell, ajustávamos o swap mais alto se tivéssemos mais impressoras ... No Linux, a regra e a prática para mim são 1 GB troque por cada 2 GB RAM você possui. E coloque-o na frente do disco para que ele seja acessado mais rapidamente.

  • Se for um gateway de email/spam, uso o dobro da troca para a RAM
  • Se é um servidor * eu não uso swap
  • se for um servidor LAMP, a regra 1/2 estará em vigor.

  • A milhagem varia de acordo com o aplicativo e o uso da GUI.

1
Thomas Denton

Eu apenas uso uma pequena troca de token (geralmente 256 MB, mas eu já fiz 64 MB) porque a configuração de um sistema com troca zero precisa de uma configuração especial.

O espaço em disco é barato, mas slooooooooow. Assim que o sistema começa a trocar, o desempenho é zero. E RAM não é mais tão caro.

Confie em mim, compre um processador um pouco mais lento e compre mais RAM. 2,8 GHz em vez de 3,0 GHz economiza dinheiro suficiente para comprar mais 2 GB de RAM, pelo menos.

0
Maneesh Kasera

Crio 1GB de swap e compro mais RAM no segundo em que está sendo usado. Você realmente não precisa trocar em computadores modernos, RAM é tão barato.

0
Adam Gibbins

Para que você está usando o sistema? Pessoalmente, não uso nenhum swap. Se alguma coisa usar um token de 512 MB ou algo assim, as coisas poderão ser colocadas em disco se residentes, mas inativas por longos períodos.

0
Mike McQuaid