Qual o Melhor Tamanho para swap?

Aprenda a reservar a sua área de swap corretamente, faça seu Linux funcionar perfeitamente e sem surpresas futuras.

Já recebi essa dúvida por e-mail, Facebook e em vários fóruns que participo. É comum que os novatos no mundo GNU/Linux se sintam perdidos na hora de reservar um valor para a memória virtual, por isso o objetivo desse artigo e explicar melhor o que é o SWAP e também como criar e reservar essa importante partição para a maioria dos sistemas operacionais.

Primeiramente é importante entender o que é esse recurso. Para que o computador funciona perfeitamente, é importante que ele possua memória principal suficiente para o processador trabalhar com certa folga, o problema é que antigamente possuir memória principal (que é a RAM) em abundância era caro, por isso praticamente todos os sistemas operacionais adotaram uma saída simples porém genial, reservar uma área da memória secundária (o disco rígido) para criar uma extensão da memória RAM. Isso é feito por um simples motivo, o disco rígido é geralmente muito maior que a memória RAM e também muito mais barato que a memória principal.

O funcionamento do computador se dá da seguinte forma, quando um programa é executado, o processador carrega para a memória RAM os dados do aplicativo, caso a memória RAM fique sem espaço, o processador vai transferir os dados antigos da memória RAM para o disco rígido, assim liberará espaço para o programa continuar sua execução. A memória copiada para o disco vai para uma área em especial, conhecida como área de swap. Então em resumo, o swap é uma área de espera e nada mais.

Quanto reservar para o swap?

A crença popular é que a área de swap deve ter o dobro da memória RAM, o que não é verdade. Essa crença pode não atender as necessidades reais do usuário e ainda gerar uma área de swap desnecessariamente grande. O segredo para escolher uma área de swap perfeita é testar sempre.

Existem duas maneiras de criar uma área de swap, a primeira é durante a formatação, que acaba gerando uma partição a mais no disco, e inevitavelmente, mais difícil de manusear futuramente. A segunda através de um arquivo, infinitas vezes mais fácil de gerenciar e controlar o seu tamanho. Sabendo disso, o segredo para uma boa área de swap é criar um arquivo e usá-lo como área de troca, assim você ficará monitorando a sua memória RAM, com o tempo poderá redimensionar esse arquivo a sua vontade, assim a área de troca se encaixará perfeitamente a suas necessidades e não desperdiçará espaço.

Para criar um swap em arquivo basta formatar o seu computador normalmente e não definir uma área de swap, depois de tudo pronto e o computador já em uso, siga os seguintes passos.

Primeiro passo é criar um arquivo cheio de zeros dedicado ao nosso swap, o tamanho desse arquivo deve ser o que você achar necessário. Caso não saiba o tamanho ideal para sua necessidade, crie o arquivo com 500 MB e monitore sua memória RAM para saber se será necessário aumentar ou diminuir o arquivo. Para criar o arquivo basta digitar em seu terminal o seguinte comando:

# dd if=/dev/zero of=/swapfile bs=1M count=500

O comando acima vai criar um arquivo chamado swapfile na raiz do sistema. Agora vamos estabelecer uma área de swap nesse arquivo, para isso use o comando abaixo:

# mkswap -f /swapfile

Agora altere a permissão do arquivo para 600 usando o comando abaixo, isso garantirá que só o usuário root possa ler e alterar o arquivo.

# chmod 600 /swapfile

Agora vamos adicionar nosso arquivo swap no /etc/fstab e garantir que o nosso arquivo fique permanentemente ativo. Edite o arquivo /etc/fstab e adicione a seguinte linha no arquivo:

/swapfile      none       swap        sw        0          0

Depois de inserir a linha anterior vamos ativar nosso swap com o seguinte comando:

# swapon -a

Pronto seu arquivo de swap está ativo, caso queira modificar esse arquivo, basta recriá-lo seguindo os passos anteriormente mencionados.

Atualizado em: 26/03/2014
  • Esta dica foi útil para você?
  • Recomendar
  • Não recomendar

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *