Normalmente as pessoas criam e configuram a sua partição swap, ao instalar o seu sistema.
Até a versão 2.6 do kernel, o uso de uma partição separada para swap trazia melhorias sensíveis de performance.
Atualmente, um arquivo de swap tem a mesma performance que uma partição dedicada. Ainda assim, o uso de uma partição separada é o jeito mais organizado e seguro de fazer a paginação.
LEIA MAIS
Você pode regular o uso do arquivo/espaço de troca (swap space) no Linux com a configuração do swapiness — o que pode trazer um ganho sensível no desempenho do seu sistema.
Leia mais aqui.
Por que eu deveria criar um arquivo de swap
Se você não tem um arquivo ou partição swap, é aconselhável criar um, para que o sistema tenha para onde “transbordar” quando tiver chegado a um certo limite de uso da memória RAM — que é uma situação rara para usuários comuns do Linux.
Por favor, leia Perguntas e respostas sobre o SWAP.
Se você já tem um arquivo ou partição, não há razão para criar outro, a não ser que o espaço atual seja muito pequeno ou você tenha feito algum upgrade de memória no seu sistema – ao hibernar, o Linux grava no swap toda a situação atual da sua memória RAM, entre outras coisas.
Houve um tempo em que se recomendava configurar o tamanho do swap como o dobro do tamanho da memória RAM. Isto não é mais necessário. O Linux, nas mãos de um usuário normal, vai usar o swap, predominantemente, só para hibernar o sistema. Portanto, o tamanho de swap deve acompanhar o tamanho da sua memória RAM.
Como criar uma nova partição é um pouco complicado, criar um novo arquivo de swap pode ser uma solução mais viável. Vou mostrar como fazê-lo a seguir.
Como criar um arquivo de swap no Linux
O procedimento descrito abaixo vale pra qualquer distro Linux. O que se requer, aqui, é que você tenha acesso root ao sistema, ou seja, tenha privilégios administrativos.
O procedimento não funciona em sistemas de arquivos BTRFS.
O processo envolve o uso do comando dd
para criar o arquivo swap e o comando mkswap
para configurar o swap em um arquivo ou dispositivo independente.
Autenticando-se como administrador (root)
Abra um terminal – no Ubuntu, use a combinação de teclas Ctrl + Alt +T. Nos exemplos, vou usar o comando sudo
para executar os procedimentos com privilégios administrativos. Mas, se você preferir, pode entrar como superusuário, através do comando su
e suprimir o uso do sudo
— é sua escolha.
Como criar um arquivo de armazenamento com o dd
O comando dd tem múltiplas funcionalidades. Pode ser usado, inclusive, para medir a velocidade de leitura/escrita de um dispositivo, bem como, criar um pendrive inicializável com Linux.
Neste caso, vou criar um arquivo de armazenamento, a ser usado como swap, com o tamanho de 512 Mb.
Multiplique o tamanho que você deseja em Megabytes por 1024, para obter o valor a ser usado pelo parâmetro count
, conforme o exemplo a seguir.
Note que 512 multiplicado por 1024 é igual a 524288 – e é este número que vou usar no meu exemplo:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
[sudo] password for justincase:
524288+0 registros de entrada
524288+0 registros de saída
536870912 bytes (537 MB) copiados, 18,417 s, 29,2 MB/s
justincase@JustInCase-Solaris-8:~$
O arquivo swap já está criado. Segue, abaixo, uma explicação do que foi feito:
- if=/dev/zero — Lê o arquivo
/dev/zero
, um arquivo especial uma vez que provê todos os caracteres null necessários para construir o arquivoswapfile
- of=/swapfile — cria o arquivo
/swapfile
e grava nele o conteúdo de/dev/zero
- bs=1024 — este parâmetro indica que 1024 blocos deverão ser gravados/lidos por vez
- count=524288 — limita a quantidade de blocos gravados a este número
Como configurar o seu arquivo de swap
O comando, que segue, configura o seu recém criado arquivo swapfile
como sendo um arquivo de swap:
sudo mkswap /swapfile
mkswap: /swapfile: permissões inseguras 0644, sugere-se 0600.
Configurando espaço de swap versão 1, tamanho = 500 MiB (524284 bytes)
nenhum rótulo, UUID=9055d446-c93c-41e7-b500-5da7bffff888
Agora, siga a recomendação de segurança, e altere as permissões do arquivo:
chmod 0600 /swapfile
Para que o seu arquivo swap seja ativado na próxima vez em que você ligar a máquina, é necessário indicar isto no arquivo de sistema /etc/fstab
. Abra-o e acrescente a seguinte linha, no final:
/swapfile swap swap defaults 0 0
Grave o arquivo e feche o editor.
Após reiniciar o seu sistema o swap já estará funcionando.
Como verificar se o meu swap está ativado ou não
Use o comando free para verificar a situação geral de uso da memória do sistema, o que inclui o uso do swap:
sudo free -mh
Normalmente, a última linha costuma mostrar informações sobre ele.
Outra forma de verificar o status do swap é inquirir o arquivo /proc/meminfo/
:
cat /proc/meminfo | grep -i swap
- Perguntas e respostas sobre o SWAP.
- Como verificar a memória SWAP no Linux — em detalhes
- Como limpar a memória cache no Linux — saiba por que usar caching no Linux
- Readyboost no Ubuntu
Como desativar e remover o arquivo de swap do meu sistema
Para desativar o arquivo de swap criado aqui, use o comando:
sudo swapoff /swapfile
Agora remova a linha inserida ao final do arquivo /etc/fstab
.
Após reiniciar o sistema, pode apagar o arquivo /swapfile
:
sudo rm -vf /swapfile
Se você tiver interesse em apenas reduzir o uso do swap, clique aqui, para saber como fazer isto.
[blog_subscription_form]
2 replies on “Como criar um arquivo SWAP no Linux”
Amigo eu uso Java e queria direcionar o uso da.memoria pra um arquivo de swap. Tem como fazer isso?
Não precisa rebotar.
Para ativar o swap, basta:
sudo swapon /swapfile