Ainda precisamos trocar partições nos servidores?

37

Eu li essa pergunta , mas ela foi perguntada no contexto de servidores, não desktops ou notebooks.

Se uma boa quantidade de RAM estiver instalada em um notebook, digamos 8 GB, ainda precisamos de um espaço de troca?

carrinho de bebê
fonte

Respostas:

33

Existe um equívoco comum de que ter um espaço de troca está afetando negativamente o desempenho do sistema. Isto está incorreto. Contanto que você tenha RAM suficiente, ter uma área de troca, independentemente do tamanho, não prejudica o desempenho. O que afeta o desempenho é ter pouca RAM e usar efetivamente o espaço de troca.

  1. Se você não tiver espaço de troca e estiver sem RAM, o kernel escolherá um ou mais processos que considera bons candidatos (embora você possa dar algumas dicas ) e os matará.

  2. Se você tiver um espaço de troca e estiver sem RAM, o kernel escolherá menos páginas de memória usadas e as colocará na área de troca para liberar RAM. Isso diminuirá a velocidade do sistema, mas seus aplicativos não serão afetados de outra forma.

Eu sempre prefiro o caso 2. porque me sinto desconfortável perdendo partes ou todo o meu trabalho porque o kernel acha que vale a pena matar meus aplicativos. Além disso, com o tamanho atual de um disco médio na faixa de TB, reservar alguns por cento para troca geralmente não é um problema.

jlliagre
fonte
O seu primeiro ponto é realmente verdadeiro? O kernel matará os processos em execução para liberar RAM? Por que o kernel não usaria apenas espaço em disco em vez de matar processos ao vivo?
Donato
4
@Donato Sim, meu primeiro ponto é verdadeiro. Se não houver espaço de troca configurado (ou seja, disco), o kernel não terá a opção de usar espaço em disco para liberar RAM.
Jlliagre
e o que acontece quando eu termino o espaço de troca? Recuar no caso 1?
Zac
@Zac Sim, a menos que você realmente desabilite o comprometimento excessivo da memória, caso em que o primeiro processo que falhar na alocação de memória será prejudicado. Observe que, se você tiver uma área de espaço de troca (significativa) configurada e usar a maior parte dela, provavelmente terá sérios problemas de desempenho em primeiro lugar.
Jlliagre
11
@ Zac Se você esgotar seu espaço de troca, estará essencialmente na mesma situação em que não tem espaço de troca em primeiro lugar. Um processo ou mais morrerá. Eles podem ser escolhidos pelo assassino ou apenas estar no lugar errado e na hora errada. Normalmente, um sistema de produção monitorado adequadamente deve acionar um alerta e, em seguida, uma reação do administrador antes que ocorra a exaustão da troca.
Jlliagre 28/07
9

Se você tem uma RAM de 3 GB ou superior, o Ubuntu NÃO usará automaticamente o espaço de swap, pois é mais que suficiente para o sistema operacional.

Agora você realmente precisa de uma partição swap?

A resposta na minha opinião é sim. Porque você não sabe o que instalará ou fará no futuro que pode exigir a necessidade de espaço de troca. Além disso, se você planeja usar a hibernação, convém ter algum espaço de troca. Na verdade, você não precisa ter uma partição de troca, mas é recomendável que você use tanta memória na operação normal.

Para obter mais informações sobre a necessidade ou não de troca, consulte Ubuntu Swap Faq , ou Swap Requirements.

Mitch
fonte
Você tem um link para confirmar sua primeira declaração?
jlliagre
@jlliagre Dê uma olhada em mygeekopinions.blogspot.com/2011/03/… , o que leva a askubuntu.com/questions/23676/…
Mitch
11
A declaração do blog está citando incorretamente a resposta askunbutu. Não há evidências user4124 é um desenvolvedor Ubuntu. "normalmente não terá uso" é bem diferente de "desativará automaticamente". Na verdade, o Ubuntu nunca desabilita a troca e fará uso dela se for necessário, mesmo se você tiver 8 GB de RAM ou mais.
Jlliagre
@ jlliagre O que isso significa é que o espaço de troca está lá, mas não é usado. Quando instalei o Xubuntu 14.04, ele criou uma troca de 16 GB e nunca foi usada ainda. ver imagem
Mitch
11
Que bom que você corrigiu sua resposta. "Não usar" definitivamente não é o mesmo que "desativar". O Ubuntu não desativa a troca e a fará se necessário, independentemente do tamanho.
jlliagre
4

Nos últimos 6 anos, usei sistemas de mesa com pelo menos 8 GB de RAM. Não me lembro de um caso em que o sistema trocou a memória sob uso normal - e monitorei o uso de recursos com bastante freqüência com o htop. Nem mesmo nos casos em que eu executei 4 máquinas virtuais (servidores) simultaneamente para fins de desenvolvimento, ocorreu a troca.

Dito isto, se os aplicativos que você está executando consomem muita memória (por exemplo, edição de vídeo, edição de imagens, manipulação de grandes tabelas de bancos de dados, etc.), você pode enfrentar uma situação em que o sistema pode ficar sem memória. Nesse caso, pode ser desejável ter um espaço de troca. Pense nisso como uma rede de segurança de último recurso. E considerando a capacidade multi-terrabyte dos sistemas atuais, quanto vale um par de gigabytes em uma partição swap? Melhor prevenir do que remediar :-)

hmayag
fonte
2

Ter espaço para troca é sempre uma coisa boa.

Aqui estou citando o Guia de Estudo da Certificação RHCSA / RHCE de Michael Jang

Espaço de troca do Linux

Esse espaço é usado para estender a quantidade de RAM efetiva em um sistema, como memória virtual para programas atualmente em execução. Mas você não pode simplesmente comprar RAM extra e eliminar o espaço de troca. O Linux move programas e dados usados ​​com pouca frequência para trocar de espaço, mesmo que você tenha gigabytes de RAM.

Para sistemas de até 2 GB, o tamanho do espaço de troca padrão é o dobro da quantidade de RAM instalada. Acima de 2 GB, é a quantidade de RAM + 2 GB. Mas essas não são regras "rígidas e rápidas". As estações de trabalho com vários GB de RAM freqüentemente usam muito pouco espaço de troca .. mas podem ser usadas com mais frequência em sistemas que não são reinicializados por meses ou que têm muita demanda de determinados serviços.

Gayan Weerakutti
fonte
11
"O Linux move programas e dados usados ​​com pouca frequência para trocar de espaço, mesmo que você tenha gigabytes de RAM". Presumo que estamos falando de código e dados carregados na memória. No caso de você ter 8 GB de RAM e apenas executar aplicativos comuns, por que diabos qualquer página de código ou dados seria paginada para troca?
Tarik
1

Depende do que você está executando no seu sistema.

Se você estiver criando conteúdo, provavelmente é uma boa idéia ainda ter espaço de troca alocado; portanto, se você ficar sem RAM, seus processos ficarão lentos em vez de serem mortos e potencialmente perdendo trabalho.

Se sua máquina está apenas executando programas, você não precisa nem deseja trocar espaço. Projeto e construo muitos sistemas de exibição semelhantes a quiosques que se encaixam exatamente nesse uso. Prefiro que um processo morra repentinamente do que seja lento, porque então posso detectar essa condição e corrigi-la.

Eric Sokolowsky
fonte
1

Se você precisar de troca ou mais espaço para troca, poderá criar arquivos de troca no seu sistema de arquivos. Obviamente, eles não suportam hibernação, mas é uma abordagem razoável para um laptop com unidade SSD e muita RAM.

Grzegorz Żur
fonte