Você pode ter muita troca?

16

Eu só queria saber se você pode ter uma partição de swap que é muito grande. Se sim, quando uma partição de swap é muito grande? Quais são as desvantagens / efeitos negativos de ter uma partição de swap muito grande (mesmo que eu tenha bastante espaço em disco)?

Se não, quais são os benefícios de ter mais do que o espaço de troca recomendado?

An0n
fonte
5
A desvantagem aparente é que você perde espaço em disco. OTOH: se você tiver uma troca "demais" (por exemplo, 30 GB em um sistema de 4 GB), os aplicativos que se comportarem incorretamente ficarão sem memória muito mais tarde e isso diminuirá a velocidade do sistema. Aplicativos de comportamento ordenado (sem vazamento de memória) simplesmente não o usam. (I admitir, esta é uma vista simplificada.)
PerlDuck
Concordo com @PerlDuck - "troca demais" apenas usa espaço em disco. Você sistema será lenta se ele começa a usar swap, nesse caso, quer correr menos aplicativos, os aplicativos mais leves, ou obter mais RAM
Panther
Eu sei, então se você tem RAM suficiente, caso contrário, use muito espaço em disco, há alguma desvantagem? Exceto aplicativos fora do curso "comportando-se" como disse o PerlDuck.
An0n 18/03/19
11
VTD Todas as perguntas no Edit justificam a alteração do motivo próximo do tópico duplicado para desativado como muito amplo. O OP está obviamente irritado, mas a meta ou uma sala de bate-papo é um lugar melhor para discussão.
WinEunuuchs2Unix
3
Caso as pessoas não tenham certeza do que o @PerlDuck (e o Panther) estão falando, observe que, mesmo que você tenha espaço em disco efetivamente ilimitado, ter mais espaço para trocar fará com que processos que devam ser apenas finalizados e que de outra forma seriam rapidamente terminado automaticamente, reduza a velocidade do sistema para um rastreamento por um longo período primeiro . Penso que o comentário de PerlDuck também funcionaria como resposta. Se acabarmos reabrindo essa pergunta, talvez seja possível adicionar uma resposta sobre as desvantagens de ter muito mais trocas do que o necessário. Porque existem desvantagens.
Eliah Kagan 26/03

Respostas:

8

Não

À primeira vista, você não pode ter muita troca porque pode ver a troca como uma maneira de aumentar a RAM. Na verdade, ele não aumenta a RAM, apenas finge: Se você possui 8 GB de RAM real e um espaço de troca de, digamos, 24 GB configurado, seus programas podem alocar e usar até 8 + 24 = 32 GB de memória o que parece bom no começo.

Mas

Se você executar aplicativos que possuem vazamento de memória ou que não foram realmente projetados para executar com 8 GB de memória (pense em edição de vídeo, por exemplo), esses aplicativos começarão a usar esse espaço de troca e a troca será lenta. Quanto mais espaço de troca estiver ativamente em uso por esses aplicativos, mais o sistema estará ocupado apenas movendo a memória de e para o disco. Isso diminuirá drasticamente a capacidade de resposta geral do sistema e levará a uma experiência ruim do usuário.

Eventualmente - quando o espaço de troca estiver esgotado - alguns aplicativos enfrentarão uma situação de falta de memória e serão mortos pelo OOM_Killer do kernel .

Do wiki :

O caso típico da OOM em computadores modernos acontece quando o sistema operacional não consegue criar mais memória virtual, porque todos os seus dispositivos de backup em potencial foram preenchidos.

Conclusão

Portanto, uma desvantagem de ter muito espaço de troca é: quanto mais você tiver, mais tarde ocorrerá a situação da OOM e mais você terá que sofrer com um sistema atrasado e sem resposta.

Outra desvantagem aparente, claro, é desperdiçar espaço em disco, mas isso pode não ser tão importante hoje em dia.

PerlDuck
fonte
+1 para a consideração do caso de borda. Pessoalmente, eu não sou um grande fã de swap, pois a hibernação é para ursos e meus sistemas são mantidos muito ocupados para isso. ;-) Felicidades.
Elder Geek
@ElderGeek LOL. Na verdade, Eliah Kagan me fez transformar meu comentário simples em uma resposta. Ele me convenceu de que a desvantagem acima mencionada de ter muita troca é uma coisa crucial e pode ser importante para os outros. Estou com você e tenho pouca troca configurada (2GB com 8GB RAM) e quase nunca é tocada.
precisa saber é o seguinte
Eu tive resultados semelhantes com configurações semelhantes, eu gostaria que o boato de troca de 2x morresse finalmente.
Elder Geek
5

Não há desvantagem direta para um grande espaço de troca. Com a maneira como ele é gerenciado pelo kernel, um aumento da quantidade de espaço de troca acima do que é suficiente não tem ou tem um impacto insignificante no desempenho.

A única desvantagem do espaço de troca "demais" é que você não pode usar esse espaço para armazenamento.

David Foerster
fonte
11
@ An0n: Eu acho que seria uma grande desvantagem alocar todos os ~ 6 TB atualmente conectados à minha máquina como espaço de troca. Onde eu colocaria toda a minha música ...?
David Foerster
2
@ An0n: Qual a vantagem de um computador se tudo o que ele pode fazer é inicializar e não armazenar dados úteis? Isso soa mais como um aquecedor de ambiente caro.
David Foerster
11
@ An0n: Claro, eu assumi isso, mas você está perdendo o ponto. Acho que podemos concordar que, para ser útil, um computador deve ser capaz de atingir um estado utilizável do sistema (incluindo a capacidade de inicializar) e ter acesso ao armazenamento que o usuário pode usar para seus dados pessoais. Isso requer que não seja ocupado por espaço de troca.
David Foerster
2
Claro que é relativo. Assim como "demais" é relativo. Se eu tiver um sistema inicializável e alocar todo o meu espaço livre como espaço de troca, não será mais útil por causa da falta de espaço livre até que eu mude a configuração do sistema de uma maneira que termine em mais espaço livre. Nesse sentido, o espaço de troca seria "demais" durante esse período, tornando o sistema inútil durante esse período. De qualquer forma, não estou aqui para discutir semântica de palavras com você.
David Foerster
11
@ An0n Para sublinhar o ponto aqui, trocar espaço é um espaço que você não pode usar para mais nada. O espaço de armazenamento em disco custa dinheiro. Se o seu espaço em disco for limitado (o meu tem apenas 32 GB), você deseja manter o máximo possível livre para instalar programas e gravar arquivos com suas coisas, como música. As pessoas geralmente tentam manter a troca no mínimo por esse motivo, e nenhum outro motivo. Trocar é algo que o sistema pode precisar para continuar funcionando com eficiência, que de outra forma não tem valor para o usuário. Em geral, queremos que nosso sistema use apenas os recursos necessários e nos deixe muito com o que brincar.
Zanna
4

Você não sentirá outras desvantagens além de menos espaço no disco, acho que hoje em dia a concepção de 2x a quantidade de memória RAM está desatualizada na maioria dos sistemas. Eu normalmente recomendo usar o mesmo tamanho de sua memória RAM para trocar memória em laptops, a fim de lhe dar a oportunidade de hibernar seu PC sem perder dados devido à natureza volátil da RAM.

Os únicos casos em que eu consideraria usar mais do que 1x o tamanho da RAM para a partição de swap é quando você acha que vai atualizar o tamanho da RAM em pouco tempo. Ou se você planeja usar um sistema no qual armazenará em uma espécie de cache a quantidade de memória usada por programas não utilizados no mesmo momento.

Espero que meu argumento tenha sido claro o suficiente e repito que não acho que você tenha problemas por ter muita memória de troca.

Tenha um bom dia!

Zurg
fonte
2
Eu não uso swap se RAM> 2-4 Gb em uma área de trabalho de usuário único.
Panther
11
@ Panther Por que não? E não é sobre como ou quando você o usa. É sobre o tamanho e o uso.
An0n
2
Você já considerou o impacto de vazamentos de memória?
Elder Geek
@ElderGeek Oi, não, eu não considerei isso. Eu gosto da sua resposta, eu não sabia sobre o problema de vazamento de memória!
Zurg
2

De quanto SWAP a hibernação realmente precisa?

É um equívoco que você precisa de RAM x 2 para o tamanho SWAP ao usar a hibernação. O tamanho da troca precisa ser o tamanho da RAM usada e não da RAM instalada . Geralmente, o tamanho da troca precisa ser 2 / 5th da RAM instalada. Para descobrir a quantidade mínima de RAM necessária para uso:

$ cat /sys/power/image_size
3153907712

Nesta máquina de 8 GB de RAM, é necessário no mínimo 3 GB para hibernar.

Você pode ajustar os valores image_sizepara um tamanho de troca menor com risco de falha. Você pode ajustá-lo para um tamanho de troca maior e possivelmente acelerar a velocidade de hibernação.

Referência: https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate


16 MB de RAM em 1995, regras diferentes para 16 GB de RAM em 2018

Nos dias em que você tinha 16 MB de RAM, x 2 para troca de 32 MB no disco rígido de 720 MB fazia sentido. Um pouco de história de RAM e HDD neste artigo do Washington Post de 1995 .

23 anos depois, alguns artigos técnicos daquele ano de 1995 (embora eu não tenha encontrado nenhum) podem enganar os novos usuários. No entanto, encontrei um artigo de 2007 recomendando SWAP = RAM x 2 .

Em 1995, a troca de HD de 3260 MB foi de 4% do HDD. De fato, a partição swap pode ter sido muito usada em 1995. Hoje, em 2018, 16 GB de RAM x 2 para SWAP de 32 GB no seu SSD de 256 GB não faz o mesmo sentido, pois está consumindo 13% do SSD. Hoje, minha partição SWAP de 8 GB não está sendo usada, a menos que eu a force a preenchê-la durante o teste do OOM-Killer: o Google Chrome ocupará minha memória até o ponto em que faz com que meu computador congele quase ao ponto. O que posso fazer para evitar isso? .

WinEunuuchs2Unix
fonte
+1 por apontar o equívoco da regra 2x, muitas vezes apresentada, que é um beliche total.
Elder Geek
@ElderGeek Obrigado. Eu adicionei uma seção de histórico sobre quando 16 MB de RAM vezes 2 para SWAP de 32 MB podem ter feito sentido.
WinEunuuchs2Unix
Outra coisa a considerar é o SSD versus o HDD. Queremos muitas leituras / gravações no SSD, levando-o mais rapidamente à falha nessa parte do SSD (ou isso é um mito)? No meu sistema de 32 GB de RAM, usei 2 GB de velociraptor Drive para SWAP, mas sem intenção de hibernação, ainda não tenho certeza se isso está ok, possivelmente eu poderia não ter trocado ??? Mas se eu estivesse hibernando, talvez 4 GB seriam suficientes, mas as chances são de que eu estaria usando 20 GB de navegador e 4 GB não seriam suficientes ??
NZ Dev
@NZDev Eu tenho minha troca no SSD, mas raramente é usado. A última vez que verifiquei, ainda restavam 100% de vida após 1 ano de uso. Para ver a porcentagem de vida restante: askubuntu.com/questions/1038701/how-do-i-check-system-health/…
WinEunuuchs2Unix
1

O que é SWAP:

O espaço de troca no Linux é usado quando a quantidade de memória física (RAM) está cheia. Se o sistema precisar de mais recursos de memória e a RAM estiver cheia, as páginas inativas na memória serão movidas para o espaço de troca. Embora o espaço de troca possa ajudar as máquinas com uma pequena quantidade de RAM, ele não deve ser considerado um substituto para mais RAM. O espaço de troca está localizado nos discos rígidos, que têm um tempo de acesso mais lento que a memória física.

O espaço de troca pode ser uma partição de troca dedicada (recomendado), um arquivo de troca ou uma combinação de partições de troca e arquivos de troca.

A troca deve ser igual a 2x RAM física.


Vantagens:

Fornece espaço excedente quando a memória se enche completamente Pode mover itens raramente necessários para longe da memória de alta velocidade Permite que você hiberne

Desvantagens:

Ocupa espaço no disco rígido, pois as partições SWAP não são redimensionadas dinamicamente. Pode aumentar o desgaste do disco rígido. Não melhora necessariamente o desempenho (veja abaixo)


Quando as partições SWAP "não ajudam", como em "não vale a pena comparar com armazenamento extra":

Se o seu disco rígido tiver apenas 5400 RPM e você tiver pouca RAM, digamos> 2 GB. Por quê ? Como o sistema sempre quis acessar a partição SWAP, ele se tornará muito lento. Embora agora você tenha espaço na memória, tudo na partição SWAP precisa ser movido novamente. Como o sistema fica lento, a atribuição permanece na partição SWAP. Isso só pode ser corrigido com uma reinicialização. O que levará um tempo, pois o sistema precisará remover tudo da partição SWAP antes de desligar.


** Conclusão: **

Se você gostaria de poder hibernar seu computador, deverá ter uma partição SWAP. O tamanho dessa partição deve ser o tamanho da memória instalada, além de 10 a 25% adicionais para deixar espaço para os itens que já foram movidos para a partição SWAP.

Se você deseja apenas um pequeno aumento no desempenho (e possui pelo menos um disco rígido de 7200 rpm), pode adicionar uma partição SWAP, se desejar, mas ela não é necessária, a menos que você tenha menos de 4 GB de memória instalada. O tamanho disso pode ser o que você quiser. No entanto, eu recomendo 2x a RAM como um ponto preciso. SE você possui espaço de armazenamento suficiente.

Se você possui um disco rígido de 5400 rpm, não deve criar uma partição SWAP simplesmente porque o gargalo tornará o seu computador ainda pior. No entanto, se você deseja absolutamente o SWAP, ainda poderá criar uma partição usando as mesmas diretrizes de tamanho descritas acima - mas altere o valor da troca para algo muito menor.



Minha opinião:

No entanto, em qualquer caso, se você usa o Ubuntu como seu sistema operacional principal para uso diário, recomendo o dobro do tamanho da RAM. Porque você não instala o Ubuntu apenas porque possui um computador antigo. Mas porque você deseja usar o sistema como seu sistema operacional principal.

Em vez disso, compre algum hardware extra, se necessário, em vez de ajustar as partições do sistema para mantê-lo em execução. Se você comprar um jogo, verifique também se o seu sistema está "atualizado" em vez de ajustar as configurações para torná-lo "Jogável".

Você pode ter mais espaço extra, SWAP, velocidade, potência em vez de ter muito pouco tempo ou precisar redimensionar tudo mais tarde. Porque você precisa de SWAP ou espaço, comprou RAM? Ou precisa comprar ram rapidamente porque um slot de memória ou stick quebrou.

An0n
fonte
Re: sua Conclusão Simplesmente não faz sentido, ou outra maneira de colocá-lo é onde traçamos a linha. por exemplo, RAM de 8 GB e 16 GB de swap: e se eu usar 8 GB de RAM e 9 GB de swap, ainda não há espaço suficiente para hibernar. Então, o que dá? Em outras palavras, não importa o tamanho que você criar, você ainda poderá usá-lo e muito mais. Então, por que o arquivo Swap não recebe 2 espaços dedicados 1 como memória virtual e o outro como espaço de hibernação, que seria a soma ou a outra 2. Ele simplesmente não se compara a mim e ninguém nunca respondeu a essa pergunta.
NZ Dev
0

Há uma sobrecarga, de fato, mas é muito pequena; para cada "página" em disco, há um contador de referência e algumas estruturas associadas a cada área de troca; isso está na memória do kernel, portanto não pode ser paginado. Tem entre 2 e 16 MB a cada 4 GB, dependendo da arquitetura. O resto é bastante dinâmico, portanto, depende do uso.

Portanto, você pode ter bastante, mas lembre-se de que o próprio espaço de endereçamento paginado impõe alguma sobrecarga na RAM e, além disso, há algum rastreamento para páginas trocadas, para que não seja muito grande; mesmo que imponha alguma sobrecarga, os sistemas de arquivos são muito mais eficientes do que as áreas de troca quando se trata de lidar com áreas maiores, pois os vfs podem transferir informações estruturais para o disco (normalmente, pelo menos, as tabelas de páginas não podem ser trocadas, devido a limitações de hardware, e provavelmente o vmm está usando memória não trocável para toda a contabilidade).

Não consigo pensar em outra desvantagem, a OTOH com pouca troca pode causar fragmentação ao trocar de página, o que significa mais procura. Quando se tem muito, depois de certo ponto, também não haverá melhorias.

A troca geralmente é o último recurso (exceto a hibernação); portanto, você provavelmente não se beneficiará de ter mais espaço de troca do que a RAM, especialmente se você tiver mais de 4 GB de RAM e, às vezes, até o tamanho de uma RAM demais (pense em 64 GB) .

Ismael Luceno
fonte
Desculpe, sua última declaração / frase é confusa, caso contrário, um bom complemento para o acima.
NZ Dev
@NZDev está melhor agora?
Ismael Luceno