Guia do Linux/Iniciante+Intermediário/Discos e Partições/Partição Linux Swap (Memória Virtual)
Partição Linux Swap (Memória Virtual)
editarEste 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
editarO 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
editarTambém é possível criar um arquivo que poderá ser usado como memória virtual. Veja passo a passo como fazer isso:
- 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. - 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.
- Digite sync para sincronizar os buffers para o disco, assim você não terá problemas em um servidor com muito I/O.
- Ative o arquivo de troca com o comando swapon /tmp/troca.
- Confira se o tamanho da memória virtual foi modificado digitando cat /proc/meminfo ou free.
- Use o comando dd if=/dev/zero of=/tmp/troca bs=1024 count=16000 para criar um arquivo chamado
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?
editarCriar 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.