Swap Linux Tem Limite?

Boa noite galera, esse é meu último tópico que crio, depois disso vou dá um tempo até eu montar meu 5600X e apresentá-los a minha nova configuração.

Existe vários tópicos aqui relacionados a swap do tipo zram, swappness e swapfile(meu favorito), segue a tabela abaixo:

Eu fiz um teste com meu HD convencional de 1TB utilizando sua capacidade total e deu nisso aqui.


A minha dúvida é simples, existe limite ?

1 curtida

Boa noite galera, vocês podem me ajudar por favor a fechar esse tópico com chave Peppermint-de-ouro ?

Kuchiyose no jutsu!
@acvsilva
@aguamole
@secretfirefox
@Natanael.755
@help
@frc_kde

1 curtida

De acordo com esse link no AskUbuntu, o limite seria de 32 Arquivos/Partições de Swap com 16 TB cada. O que daria uns 512 TB de Swap.

3 curtidas

Fala aí rapaz, desculpe, eu também queria te adicionar no Kuchiyose no jutsu!
Essa é uma informação nova.

2 curtidas

Na pratica é impossível usar isso tudo nos dias de hoje, esse tamanho absurdo foi programado para deixar o Linux já redondo para o futuro.
Foi feito um preparo do Linux no limite de RAM também, não somente na Swap.

2 curtidas

A mas é que o Linux é desenvolvido para servidor, e ai é feito fork para desktop como o “kernel-zen” esqueci disso.

1 curtida

Eu mesmo nao uso swap (tenho 32GB de ram), e acho que ja foi respondido esse topico.

2 curtidas

acho que a pergunta correta seria: “para o uso que desejo dar à minha máquina, existe um limite?” se vai usar “normalmente”, como um mero mortal, essa pergunta não é essencial, pois seu equipamento será eficiente na gestão da RAM e swap. então, relaxe. :stuck_out_tongue_winking_eye:

3 curtidas

Para os meros mortais como nós, o limite é o tamanho do disco.

Já o limite prático para atividades de computação pessoal passa a depender das atividades usadas, hibernação e tamanho em disco. Eu recomendo o dobro da RAM limitado a 8GB. Afinal armazenamento custa dinheiro e ter esse espaço com a swap deixa de ser aproveitável para arquivos pessoais. Além do mais em um computador pessoal não é prático que fique-se usando o swap durante o uso, pois afeta a responsividade do sistema.

É bom lembrar que a maioria dos supercomputadores usam o kernel linux, então é possivel que haja alguns casos com swap de centenas de terabytes. Essas empresas e entidades que tem esses supercomputadores também tem gente altamente capacitada que podem, inclusive, aumentar esses limites e compilar kernel personalizados para elas. Essa é a vantagem de ter um sistema livre.

Fazendo esse caminho de código livre, pesquisei por swap no código fonte do kernel. Vi no arquivo include/linux/swap.h que o cabeçalho do swap tem espaço reservado para um inteiro de 32 bits para o tamanho do swap, número esse que define qual é a última página de dados. Cada página costumeiramente contém 4096 bytes, então o limite teórico é 2^32 * 4096 = 16TB.

Um bom programador poderia alterar o cabeçalho do swap para permitir swaps ainda maiores, bem como em conjunto com outras alterações, e ter o swap do tamanho que bem entender.

Mas pelo que vi no código fotne, a resposta do thomasrutter no link do AskUbunto passado pelo @rapoelho parece ser de alguém que entende mais do que eu! Eu fico com aquela como a resposta definitiva para o kernel padrão. Vou traduzi-la aqui para facilitar:

Texto original em inglês

You can have up to 32 swap areas (files or partitions) with up to ~4 billion (2^32) pages each, where a “page” is 4kB on a traditional (eg x86 or x86_64) system but can be larger on other architectures or if you have configured large pages specially.

This gives a theoretical maximum of 16TB per swap area, and up to 32 swap areas. There may be other limitations that apply before you reach this but this is as big a swap area that mkswap can create for you.

As to how much you want, any swap area beyond the maximum you actually utilize contributes nothing to system performance or stability. The trick is to estimate the maximum amount of utilization that will ever occur in a normal or even abnormal situation, and use that as your swap file size and no more.

At time of writing, swap space beyond (size of RAM + 4GB) is fairly unlikely to be utilized, unless your system is not typical.

Você pode ter até 32 áreas de swap (arquivos ou partições) com até ~4 bilhões (2^32) de páginas cada, onde uma “página” tem 4kB em um sistema tradicional (como x86 ou x86_64), mas pode ser maior em outras arquiteturas ou se você configurou páginas grandes especificamente.

Isso fornece um máximo teórico de 16TB por área de swap, e até 32 áreas de swap. Podem existir outras limitações que se apliquem antes de você alcançar isso, mas este é o maior tamanho de área de swap que o mkswap pode criar para você.

Quanto ao tamanho que você deseja, qualquer área de swap além do máximo que você realmente utilizar não contribui em nada para o desempenho ou estabilidade do sistema. O segredo é estimar a quantidade máxima de utilização que ocorrerá em uma situação normal ou mesmo anormal, e usar isso como o tamanho do seu arquivo de swap, e nada além.

No momento em que este texto foi escrito, espaço de swap além do (tamanho da RAM + 4GB) é bastante improvável de ser utilizado, a menos que seu sistema não seja típico.

6 curtidas

Lembrando que no BTRFS o limite de swap é de apenas 4GB x 32 arquivos de swap o que da um pouco menos de 128GB de swap.
Ou seja, tmb é preciso olhar o limite do filesystem por cada arquivo tamanho.

1 curtida

acho que um tamanho prático para se usar nas maquinas comuns de hoje em dia seria swap = memória RAM, mas para quem usa desktopcom 16GB, 32GB ou mais de RAM não importa muito… a não ser, claro, se for hibernar o sistema como nos notebooks, ai sim swap = memória

2 curtidas

Eu mesmo tenho 32 GB de RAM em meu notebook, e a Swap não é usada na maior parte do tempo.

2 curtidas

acho que, e não sei se procede, sabemos muito pouco sobre swap e realmente como ela funciona. pra além do teórico que aprendemos.

2 curtidas

Pois bem pessoal, boa noite a todos.
Só fiz esse teste com o hd de 1TB para vê se funciona, futuramente para novos usuários que tiverem dúvidas agora terão suas respostas. Outra coisa que esqueci de atualizar, filesystem XFS/BTRFS só funciona com DD pois o “fallocate” é incompatível, somente em EXT4 que ele funciona bem.
Peço desculpas a todos por dizer isso mas meu peppermint foi longe com 1TB de swap kkk
Agora já desfiz o hd de 1TB, apaguei as swap e devolvi os 8GB reserva para ele.


As memórias de 32GB não vão durar para sempre então é sempre bom ficar esperto.

Muito obrigado a todos!!!

2 curtidas

Verdade, mas minha maquina é de 16GB, a RAM da minha maquina vai fazer stress da swap antes de acontecer com vc.
Meu SSD por exemplo, já atingiu o limite de vida dele, está full, preciso troca-lo.

1 curtida

Se vc comprou memórias de um fabricante decente, a garantia é vitalicia. Teoricamente vai durar para sempre sim.

1 curtida

Tem grandes chances de durar bastante tempo. Um dos pentes de RAM do meu notebook antigo, tem 12 anos. E é um pente de 4 GB de RAM que veio do notebook que eu usava antes do meu velho Dell.

1 curtida

Vida útil de memória RAM? não tem, elas duram por tempo indeterminado.

1 curtida

Pois eu estava justamente me referindo as minhas memórias, não de ninguém.
Eu confio na durabilidade das minhas memórias, caso estejam curiosos a marca delas são da markvision adquiridos em 2021 e até hoje ainda estão de pé.
Coisas que somente nós os peppermints entendemos kkkk

1 curtida

Usei o meu caso como exemplo de que as memórias RAM podem durar bastante tempo.

2 curtidas