Para criar uma troca, você precisa fazer várias coisas:
-
tem um espaço disponível onde a swap irá residir - um dispositivo de bloco sobressalente (geralmente uma partição) ou um arquivo regular. Para criar um arquivo de 1 GB, por exemplo:
dd if=/dev/zero of=/path/to/swap/file bs=1M count=1k
-
prepare a troca com o comando
mkswap
- isso apaga os dados no dispositivo / arquivo (cria algumas estruturas de dados). -
ative a troca com
swapon /path/to/swap/device_or_file
. No caso de um arquivo de troca, o sistema de arquivos subjacente obviamente tem que ser montado primeiro. -
coloque-o no fstab para que possa ser montado facilmente:
/path/to/swap/device_or_file swap swap defaults 0 0
swapoff
desativa a troca por um dispositivo. Tanto swapon
como swapoff
têm a opção -a
que ativa / desativa a troca para todas as trocas: swapon -a
ativa todas as trocas mencionadas em /etc/fstab
que não têm a opção noauto
definida, swapoff -a
desativa all swaps.
Trocar para um arquivo tem a vantagem de não precisar de uma partição separada / dispositivo reservado apenas para troca, mas incorrer em sobrecarga variável: leituras / gravações passam pela camada do sistema de arquivos e o conteúdo do arquivo pode estar espalhado pelo dispositivo (fragmentado) em discos rígidos com placas giratórias pode causar uma resposta mais lenta.
Pelo que entendi, não é possível hibernar (suspender para o disco) com a troca de arquivos somente , pois ao acordar, o kernel precisa ler a imagem armazenada da troca e precisaria montar o arquivo. primeiro sistema de arquivos, que em um sistema hibernado poderia ter graves conseqüências.