Guia do Linux/Iniciante+Intermediário/Discos e Partições/Partição Linux Swap (Memória Virtual)

Partição Linux Swap (Memória Virtual)

editar

Este tipo de partição é usado para oferecer o suporte a memória virtual ao GNU/Linux em adição a memória RAM instalada no sistema. Este tipo de partição é identificado pelo tipo 82 nos programas de particionamento de disco para Linux. Para detalhes de como criar uma partição Linux Swap veja [#s-disc-swap-criando-p Criando sistema de arquivos Swap em uma partição, Seção 5.8.1]. Somente os dados na memória RAM são processados pelo processador, por ser mais rápida. Desta forma quando você está executando um programa e a memória RAM começa a encher, o GNU/Linux move automaticamente os dados que não estão sendo usados para a partição Swap e libera a memória RAM para a continuar carregando os dados necessários pelo. Quando os dados movidos para a partição Swap são solicitados, o GNU/Linux move os dados da partição Swap para a Memória. Por este motivo a partição Swap também é chamada de Troca ou memória virtual. A velocidade em que os dados são movidos da memória RAM para a partição é muito alta. Note também que é possí­vel criar o sistema de arquivos Swap em um arquivo ao invés de uma partição (veja [#s-disc-swap-criando-a Criando um sistema de arquivos Swap em um arquivo, Seção 5.8.2]).

Criando sistema de arquivos Swap em uma partição

editar

O programa usado para formatar uma partição Swap é o mkswap. Seu uso é simples: mkswap /dev/hda? Novamente veja [#s-disc-id Identificação de discos e partições em sistemas Linux, Seção 5.12] caso não souber identificar seus discos e partições. O nome do dispositivo da partição Swap pode ser visualizado através de seu programa de particionamento, você pode usar o comando fdisk -l /dev/hda para listar as partições no primeiro disco rí­gido e assim verificar qual dispositivo corresponde a partição Swap. A opção -c também pode ser usada com o mkswap para checar se existem agrupamentos danificados na partição. Com a partição Swap formatada, use o comando: swapon /dev/hda? para ativar a partição Swap (lembre-se de substituir ? pelo número de sua partição Swap). Observações: Os Kernels do GNU/Linux 2.0.xx e anteriores somente suportam partições Swap de até 128MB. Caso precise de mais que isso, crie mais partições Swap ou atualize seu sistema para trabalhar com o kernel 2.2.xx Se utilizar mais que 1 partição Swap, pode ser útil o uso da opção -p NUM que especifica a prioridade em que a partição Swap será usada. Pode ser usado um valor de prioridade entre 0 e 32767, partições com número maior serão usadas primeiro, sendo que na montagem automática através de "mount -a" podem ser designados números negativos. Procure usar o número maior para partições mais rápidas (elas serão acessadas primeiro) e números maiores para partições mais lentas. Caso precise desativar a partição Swap, use o comando: swapoff /dev/hda?.

Criando um sistema de arquivos Swap em um arquivo

editar

Também é possí­vel criar um arquivo que poderá ser usado como memória virtual. Veja passo a passo como fazer isso:

    1. Use o comando dd if=/dev/zero of=/tmp/troca bs=1024 count=16000 para criar um arquivo chamado troca vazio de 16Mb de tamanho em /tmp. Você pode modificar os parâmetros de of para escolher onde o arquivo será criado, o tamanho do arquivo poderá ser modificado através de count.
    2. Execute mkswap /tmp/troca para formatar o arquivo. Após concluir este passo, o sistema de arquivos Swap estará criado e pronto para ser usado.
    3. Digite sync para sincronizar os buffers para o disco, assim você não terá problemas em um servidor com muito I/O.
    4. Ative o arquivo de troca com o comando swapon /tmp/troca.
    5. Confira se o tamanho da memória virtual foi modificado digitando cat /proc/meminfo ou free.

Observações:

    • Podem ser usadas partições de troca e arquivos de troca juntos, sem problemas.
    • Caso seu sistema já tenha uma partição de Swap, é recomendável deixar o acesso ao arquivo Swap com uma prioridade menor (usando a opção -p NUM com o comando swapon).

Partição Swap ou Arquivo?

editar

Criar uma partição de Troca ou um arquivo de troca? Abaixo algumas vantagens e desvantagens:

    • A partição Swap é mais rápida que o arquivo Swap pois é acessada diretamente pelo Kernel. Se o seu computador tem pouca memória (menos que 32Mb) ou você tem certeza que o sistema recorre frequentemente a memória virtual para executar seus programas, é recomendável usar uma partição Swap.
    • O arquivo de troca permite que você crie somente uma partição Linux Native e crie o arquivo de troca na partição EXT2.
    • Você pode alterar o tamanho do arquivo de troca facilmente apagando e criando um novo arquivo como descrito em [#s-disc-swap-criando-a Criando um sistema de arquivos Swap em um arquivo, Seção 5.8.2].
    • É possí­vel criar um arquivo de troca em outros tipos de partições como FAT16, FAT32, etc.
    • O arquivo de troca estará disponí­vel somente após o sistema de arquivos que o armazena (ext2, fat32, etc) estar montado. Isto é um problema para sistemas com pouca memória que dependem do arquivo de troca desde sua inicialização.