Este tutorial discute o conceito de arquivo de troca no Linux, por que ele é usado e suas vantagens sobre a partição de troca tradicional. Você aprenderá como criar um arquivo de troca ou redimensioná-lo.
O que é um arquivo de troca no Linux?
Um arquivo de troca permite que o Linux simule o espaço em disco como RAM. Quando o sistema começa a ficar sem RAM, ele usa o espaço de troca e troca algum conteúdo da RAM no espaço em disco. Isso libera a RAM para atender a processos mais importantes. Quando a RAM está livre novamente, ela troca os dados do disco. Eu recomendo ler este artigo para aprender mais sobre swap no Linux.
Tradicionalmente, o espaço de troca é usado como uma partição separada no disco. Ao instalar o Linux, você cria uma partição separada apenas para troca. Mas essa tendência mudou nos últimos anos.
Com o arquivo de troca, você não precisa mais de uma partição separada. Você cria um arquivo no root e diz ao seu sistema para usá-lo como espaço de troca.
Com a partição swap dedicada, redimensionar o espaço swap é um pesadelo e uma tarefa impossível em muitos casos. Mas com os arquivos de troca, você pode redimensioná-los como quiser.
Versões recentes do Ubuntu e algumas outras distribuições do Linux começaram usando o arquivo de troca por padrão. Mesmo se você não criar uma partição de troca, o Ubuntu cria um arquivo de troca de cerca de 1 GB por conta própria.
Vamos ver mais sobre arquivos de troca.
Verifique o espaço de troca no Linux
Antes de começar a adicionar espaço de swap, seria uma boa ideia verificar se você já tem espaço de swap disponível em seu sistema.
Você pode verificar isso com o comando gratuito no Linux. No meu caso, meu Dell XPS tem 14 GB de swap.
free -h total used free shared buff/cache available Mem: 7.5G 4.1G 267M 971M 3.1G 2.2G Swap: 14G 0B 14G
O comando free dá a você o tamanho do espaço de troca, mas não diz se é uma partição de troca real ou um arquivo de troca. O comando swapon é melhor nesse aspecto.
swapon --show NAME TYPE SIZE USED PRIO /dev/nvme0n1p4 partition 14.9G 0B -2
Como você pode ver, tenho 14,9 GB de espaço de troca e está em uma partição separada. Se fosse um arquivo de troca, o tipo seria arquivo em vez de partição.
swapon --show NAME TYPE SIZE USED PRIO /swapfile file 2G 0B -2
Se você não tiver um espaço de troca em seu sistema, ele deve mostrar algo assim:
free -h total used free shared buff/cache available Mem: 7.5G 4.1G 267M 971M 3.1G 2.2G Swap: 0B 0B 0B
O comando swapon não mostrará nenhuma saída.
Criar arquivo de troca no Linux
Se o seu sistema não tem espaço de troca ou se você acha que o espaço de troca não é adequado, você pode criar o arquivo de troca no Linux. Você também pode criar vários arquivos de troca.
Vamos ver como criar um arquivo de troca no Linux. Estou usando o Ubuntu 18.04 neste tutorial, mas também deve funcionar em outras distribuições Linux.
Etapa 1: Faça um novo arquivo de troca
Primeiro, crie um arquivo com o tamanho do espaço de troca que você deseja. Digamos que eu queira adicionar 1 GB de espaço de troca ao meu sistema. Use o comando fallocate para criar um arquivo de 1 GB.
sudo fallocate -l 1G /swapfile
Recomenda-se permitir que apenas o root leia e grave no arquivo de troca. Você verá até mesmo avisos como permissões não seguras 0644, 0600 sugeridas quando você tentar usar este arquivo para a área de troca.
sudo chmod 600 /swapfile
Observe que o nome do arquivo de troca pode ser qualquer um. Se precisar de vários espaços de troca, você pode dar a ele qualquer nome apropriado, como swap_file_1, swap_file_2 etc. É apenas um arquivo com um tamanho predefinido.
Etapa 2: Marque o novo arquivo como espaço de troca
Você precisa informar ao sistema Linux que este arquivo será usado como espaço de troca. Você pode fazer isso com a ferramenta mkswap.
sudo mkswap /swapfile
Você deve ver uma saída como esta:
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=7e1faacb-ea93-4c49-a53d-fb40f3ce016a
Etapa 3: Habilitar o arquivo de troca
Agora seu sistema sabe que o arquivo swapfile pode ser usado como espaço de troca. Mas ainda não acabou. Você precisa habilitar o arquivo de troca para que seu sistema possa começar a usar este arquivo como troca.
sudo swapon /swapfile
Agora, se você verificar o espaço de troca, verá que seu sistema Linux o reconhece e o usa como área de troca:
swapon --show NAME TYPE SIZE USED PRIO /swapfile file 1024M 0B -2
Etapa 4: Tornar as alterações permanentes
Tudo o que você fez até agora é temporário. Reinicialize o sistema e todas as alterações desaparecerão.
Você pode tornar as alterações permanentes adicionando o arquivo de troca recém-criado ao arquivo/etc/fstab.
É sempre uma boa ideia fazer um backup antes de fazer qualquer alteração no arquivo/etc/fstab.
sudo cp /etc/fstab /etc/fstab.back
Agora você pode adicionar a seguinte linha ao final do arquivo/etc/fstab:
/swapfile none swap sw 0 0
Você pode fazer isso manualmente usando um editor de texto de linha de comando ou você apenas usa o seguinte comando:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Agora você tem tudo no lugar. Seu arquivo de troca será usado mesmo depois de reiniciar o sistema Linux.
Ajuste a troca
Os parâmetros de troca determinam com que freqüência o espaço de troca deve ser usado. O valor de troca varia de 0 a 100. Um valor mais alto significa que o espaço de troca será usado com mais frequência.
A troca padrão no desktop Ubuntu é 60, enquanto no servidor é 1. Você pode verificar a troca com o seguinte comando:
cat /proc/sys/vm/swappiness
Por que os servidores devem usar uma troca baixa? Como a troca é mais lenta que a RAM e para um melhor desempenho, a RAM deve ser utilizada o máximo possível. Em servidores, o fator de desempenho é crucial e, portanto, o swappin é o mais baixo possível.
Você pode alterar a troca instantaneamente usando o seguinte comando systemd:
sudo sysctl vm.swappiness=25
No entanto, essa alteração é apenas temporária. Se quiser torná-lo permanente, você pode editar o arquivo /etc/sysctl.conf e adicionar o valor de troca no final do arquivo:
Comandos para usar no terminal vm.swappiness=25
vm.swappiness=25
Redimensionando o espaço de troca no Linux
Existem algumas maneiras de redimensionar o espaço de troca no Linux. Mas antes de ver isso, você deve aprender algumas coisas sobre isso.
Quando você pede ao seu sistema para parar de usar um arquivo de troca para a área de troca, ele transfere todos os dados (páginas para ser mais preciso) de volta para a RAM. Portanto, você deve ter RAM livre suficiente antes de fazer a troca.
É por isso que uma boa prática é criar e habilitar outro arquivo de troca temporário. Dessa forma, ao trocar a área de troca original, seu sistema usará o arquivo de troca temporário. Agora você pode redimensionar o espaço de troca original. Você pode remover manualmente o arquivo de permuta temporário ou deixá-lo como está e ele será excluído automaticamente na próxima inicialização.
Se você tiver RAM livre suficiente ou se tiver criado um espaço de troca temporário, troque o arquivo original.
sudo swapoff /swapfile
Agora você pode usar o comando fallocate para alterar o tamanho do arquivo. Digamos que você altere para 2 GB de tamanho:
sudo fallocate -l 2G /swapfile
Agora marque o arquivo como espaço de troca novamente:
sudo mkswap /swapfile
E ligue a troca novamente:
sudo swapon /swapfile
Você também pode optar por ter vários arquivos de troca ao mesmo tempo.
Removendo arquivo de troca no Linux
Você pode ter seus motivos para não usar o arquivo de troca no Linux. Se você deseja removê-lo, o processo é semelhante ao que você acabou de ver ao redimensionar a troca.
Primeiro, verifique se você tem RAM livre suficiente. Agora troque o arquivo:
sudo swapoff /swapfile
A próxima etapa é remover a respectiva entrada do arquivo/etc/fstab.
E, no final, você pode remover o arquivo para liberar espaço:
sudo rm /swapfile
Você troca?
Acho que agora você tem um bom entendimento do conceito de arquivo de troca no Linux. Agora você pode criar facilmente um arquivo de troca ou redimensioná-lo de acordo com sua necessidade.
Se você tiver algo a acrescentar sobre este assunto ou se tiver alguma dúvida, por favor, deixe um comentário abaixo.
Via itsfoss.com. Você pode conferir o post original em inglês:
How to Create and Use Swap File on LinuxÚltima atualização deste artigo: 29 de august de 2019