Como escolher a quantidade ideal de Swap para a sua máquina

Swap no Linux
Publicado por Alexandre

Uma polêmica sempre presente em fóruns sobre Linux é o tamanho da partição destinada à memória Swap. Antes de entrar no mérito da questão, devemos deixar bem claro que o uso da memória Swap é essencial para que o sistema seja robusto, isto é, continue funcionando mesmo em situações adversas.

Basicamente temos três grandes benefícios quando usamos memória Swap. O primeiro deles é fazer com que o sistema não quebre se a memória física acabar. O segundo motivo é ser usado como um espaço de memória para guardar arquivos de aplicativos que precisam deles apenas quando estão sendo instalados e não serão mais necessários. Já o terceiro motivo é permitir que o sistema hiberne.

Quantidade ideal de Swap

Nesse ponto já temos uma série de questionamentos a respeito da memória swap. Isso porque ela pode ser feita em uma partições especialmente criadas para esse fim, ficar em num arquivo ou ambos.

Do ponto de vista de desempenho e isolamento é recomendado ter sempre uma partição Swap. Os Swap files podem ser utilizados quando a quantidade de memória Swap é insuficiente.

Apesar de facilitar as coisas, os Swap files apresentam algumas desvantagem com relação a partição Swap. Entre as desvantagens estão o fato de não suportar hibernação e ser mais lendo por conta da fragmentação e da sobrecarga do sistema de arquivo.

Hibernação Swap Linux

Imagem: www.open.edu

A documentação da maioria das distribuições Linux afirmam que, em geral, é necessário ter, pelo menos, duas vezes a quantidade da RAM em Swap para quem deseja que o sistema suporte hibernação. Isso porque é fundamental guardar na memória Swap tudo o que está na RAM antes de cortar a energia da memória volátil e para que isso aconteça precisamos ter memória Swap suficiente.

O que diz a documentação das distribuições sobre Swap

A recomendação dos especialistas com relação ao tamanho da memória Swap cresceu linearmente com o crescimento do tamanho da RAM nos últimos tempos. Isso ligado a opção de hibernar a máquina. Mas um coisa que você deve ter notado é que, quando usamos um computador com bastante RAM pouquíssima Swap é requerida. Isso levou muitos usuários a acreditarem que não precisam de tanta memória Swap quanto é sugerida. Afinal, qual é quantidade ideal de Swap?

De fato, computadores com bastante RAM precisam de pouca memória Swap para desempenhar as atividades mais corriqueiras do dia a dia. Entretanto, se quisermos hibernar o sistema é essencial ter, pelo menos, a mesma quantidade de RAM destinada à memória swap, isso se o sistema não estiver lidando com nenhum processo guloso.

No site do Red Hat Entreprise Linux 6 encontramos a seguinte tabela de partição Swap sugerida:

Quantidade de RAM do sistemaEspaço swap recomendadoEspaço swap recomendado para suporte à hibernação
<= 2 GB2 vezes o tamanho da RAM3 vezes o tamanho da RAM
2 GB – 8GBAo menos 4GB de swap2 vezes o tamanho da RAM
8 GB – 64 GBAo menos 4GB de swap1,5 vezes o tamanho da RAM
>64 GBAo menos 4GBNão é recomendado usar hibernação

E com relação aos SSDs?

Uma recomendação parecida pode ser lida em wiki.debian.org/Swap, onde damos ênfase a afirmação “No final das contas, se a sua máquina ficar sem RAM e sem Swap, o sistema falhará. O que nos leva a afirmar de forma simplista, porém segura, de que o tamanho da memória Swap deve ser o dobro do tamanho da RAM“.

Quantidade ideal de Swap evita que esse tipo de coisa aconteça

Quantidade ideal de Swap evita coisas como essa

É claro que usuários de máquinas com SSD de baixa capacidade não irão seguir a recomendação de criar uma partição Swap com o dobro do tamanho da RAM, por motivos óbvios. E, inclusive, é possível substituir a hibernação pela suspensão que, aliás, é um processo muito mais rápido, embora consuma um pouco de energia.

Nesse caso eu fico inclinado a seguir as recomendações do Red Hat para sistemas que não precisam de hibernação. Mas com a ressalva de que se trata de um processo não tão seguro quanto o primeiro quando vamos passar um longo período com o sistema inativo, já que se a energia for cortada as informações na memória volátil irão se perder.

Swap em discos de alta capacidade + suspensão

Para as pessoas que dispõem de um disco de alta capacidade e preferem suspender a máquina em vez de hibernar, ainda assim podem encontrar benefícios relacionados à integridade das informações suspensas quando utilizamos uma swap como o dobro ou uma vez e meia o tamanho da RAM. Isso porque a maioria dos computadores modernos suportam o recurso de suspensão híbrida.

Na suspensão híbrida as informações na RAM continuarão lá enquanto a máquina entra em um estado de baixo consumo de energia, na mesma proporção que a memória Swap vai receber o conteúdo da RAM, como se fosse hibernar. Essa é a garantia de que se a energia for cortada os dados estarão preservados, trazendo segurança a nossa hibernação.

Swap file, vilão ou mocinho?

Como já foi mencionado, os Swap files podem ser utilizados quando a quantidade de Swap atual não atende as necessidades e, ao mesmo tempo, seja complicado redimensionar a partição Swap. Nesse caso Swap files são bem vindos pela simplicidade com que permitem que seja possível expandir a memória Swap. Lembre-se que eles são mais lentos e não são usados como memória para hibernação.

Com moderação você pode usar ambos, mas tenha em mente que quanto menos memória Swap seu sistema precisar, mais rápido ele será.

Tópicos:

, , ,