Criar e Ativar um Arquivo de Swap no Linux

CompTIABeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a tarefa administrativa essencial de criar e ativar um arquivo de swap no Linux. Este processo permite aumentar a memória virtual do seu sistema, o que é crucial quando a memória RAM física é insuficiente. Você ganhará experiência prática com utilitários fundamentais de linha de comando para gerenciar os recursos do sistema de forma eficaz, oferecendo uma alternativa flexível à criação de uma partição de swap dedicada.

Você percorrerá todo o fluxo de trabalho, começando pela revisão do espaço de swap atual usando o comando swapon. Em seguida, criará um arquivo para a área de swap com o dd, formatará esse arquivo para uso como swap com o mkswap e, por fim, o ativará. Para concluir o laboratório, você verificará se o novo arquivo de swap foi configurado com sucesso e se está sendo reconhecido pelo sistema.

Revisar o Espaço de Swap Atual com swapon

Nesta etapa, você aprenderá como verificar a configuração atual do espaço de swap no seu sistema Linux. O espaço de swap é uma porção do disco rígido usada como memória virtual quando a quantidade de memória física (RAM) está cheia. Isso permite que o sistema execute mais aplicativos do que caberia apenas na RAM física.

Para começar, você usará o comando swapon, um utilitário para especificar dispositivos e arquivos para paginação e troca. Vamos utilizá-lo com a opção --show para exibir um resumo dos dispositivos de swap ativos. Como o gerenciamento do espaço de swap é uma tarefa administrativa, você precisa usar o sudo para executar o comando com privilégios de root.

No seu terminal, que já está no diretório ~/project, execute o seguinte comando:

sudo swapon --show

Você verá uma saída semelhante à seguinte. Os detalhes, como NAME e SIZE, podem variar dependendo da configuração inicial da sua máquina virtual. Também é possível que nenhum espaço de swap esteja configurado; nesse caso, o comando não produzirá nenhuma saída.

NAME        TYPE      SIZE USED PRIO
/dev/loop12 partition   2G   0B   -2

Vamos detalhar a saída:

  • NAME: O nome do dispositivo ou arquivo de swap. Neste exemplo, é um dispositivo de loop (/dev/loop12).
  • TYPE: O tipo de espaço de swap, que pode ser uma partição (partition) ou um arquivo (file).
  • SIZE: O tamanho total do espaço de swap.
  • USED: A quantidade de espaço de swap atualmente em uso.
  • PRIO: A prioridade do espaço de swap. Se você tiver múltiplos espaços de swap, aquele com a maior prioridade será usado primeiro.

Ao executar este comando, você revisou com sucesso a configuração de swap atual do sistema. Nas etapas seguintes, você aprenderá como criar e ativar um novo arquivo de swap, que é uma maneira flexível de adicionar espaço de swap sem precisar reparticionar o disco.

Criar um Arquivo para Espaço de Swap com dd

Na etapa anterior, você aprendeu como visualizar a configuração de swap existente. Agora, você criará um arquivo dedicado que será usado como novo espaço de swap. Usar um arquivo para swap é um método flexível porque não exige a repartição do seu disco rígido.

Usaremos o comando dd, um utilitário poderoso para copiar e converter dados. Ele é ideal para esta tarefa porque pode criar um arquivo de tamanho preciso lendo de um dispositivo especial do sistema chamado /dev/zero, que é um fluxo infinito de caracteres nulos (zeros).

Para criar um arquivo de 250MB chamado swapfile no seu diretório atual (~/project), execute o seguinte comando. Você precisa do sudo porque o arquivo será eventualmente gerenciado pelo sistema.

sudo dd if=/dev/zero of=swapfile bs=1M count=250

Vamos detalhar este comando:

  • sudo: Executa o comando com privilégios de root.
  • dd: O utilitário de linha de comando que estamos usando.
  • if=/dev/zero: Especifica o arquivo de entrada (input file). /dev/zero é um arquivo especial que produz um fluxo de caracteres nulos.
  • of=swapfile: Especifica o arquivo de saída (output file). Isso cria um arquivo chamado swapfile no diretório atual.
  • bs=1M: Define o tamanho do bloco (block size) para 1 Megabyte. O dd lerá e escreverá dados em pedaços de 1MB.
  • count=250: Copia 250 blocos. Como o tamanho do nosso bloco é 1M, isso resulta em um arquivo de 250 * 1M = 250MB.

Após executar o comando, você verá uma saída confirmando que a operação foi bem-sucedida:

250+0 records in
250+0 records out
262144000 bytes (262 MB, 250 MiB) copied, 0.270222 s, 970 MB/s

Você criou com sucesso um arquivo de 250MB. Na próxima etapa, você formatará este arquivo para que ele seja reconhecido como espaço de swap e definirá as permissões apropriadas para ele.

Formatar o Arquivo como Swap com mkswap

Na etapa anterior, você criou um arquivo chamado swapfile preenchido com zeros. No entanto, o sistema operacional ainda não o reconhece como uma área de swap válida. Você precisa formatá-lo especificamente para esse propósito. É aqui que entra o comando mkswap.

O comando mkswap configura uma área de swap do Linux em um dispositivo ou em um arquivo. Ele grava uma assinatura especial no arquivo que o kernel consegue identificar.

Primeiro, vamos formatar o swapfile que você criou. No seu terminal, execute o seguinte comando:

sudo mkswap swapfile

Após a execução do comando, você verá uma saída indicando que o espaço de swap foi configurado. O sistema atribuirá um identificador único (UUID) à sua nova área de swap. Você também poderá ver um aviso sobre permissões inseguras, que resolveremos a seguir.

mkswap: swapfile: insecure permissions 0644, fix with: chmod 0600 swapfile
Setting up swapspace version 1, size = 250 MiB (262139904 bytes)
no label, UUID=aabf0226-9f7b-47f5-9ad3-10248552795c

Nota Importante de Segurança: Um arquivo de swap pode potencialmente conter dados sensíveis da memória do seu computador. Por razões de segurança, é crucial que apenas o usuário root tenha permissão para ler e escrever nele. Outros usuários do sistema não devem ter nenhum tipo de acesso.

Para definir as permissões corretas, usaremos o comando chmod. Definiremos as permissões como 600, o que concede ao proprietário (root) acesso de leitura e escrita, e revoga todo o acesso para qualquer outra pessoa.

Execute o seguinte comando para proteger seu swapfile:

sudo chmod 600 swapfile

Este comando não produzirá nenhuma saída se for bem-sucedido. Você formatou o swapfile com sucesso e protegeu suas permissões. Ele agora está pronto para ser ativado e usado pelo sistema, o que você fará na próxima etapa.

Ativar o Novo Arquivo de Swap com swapon

Você criou e preparou com sucesso o swapfile. Ele agora está formatado e possui as permissões corretas, mas o kernel do Linux ainda não o está utilizando como memória virtual. Nesta etapa, você ativará o arquivo de swap, tornando-o disponível para o sistema.

Para fazer isso, você usará o comando swapon novamente. Na primeira etapa, você o usou com a opção --show para visualizar a configuração atual. Desta vez, você fornecerá o caminho para o seu swapfile como um argumento para habilitá-lo.

No seu terminal, localizado em ~/project, execute o seguinte comando para ativar seu novo espaço de swap:

sudo swapon swapfile

Vamos revisar o comando:

  • sudo: Isso é necessário porque a ativação do espaço de swap é uma operação de nível de sistema que exige privilégios de root.
  • swapon: O comando para habilitar dispositivos e arquivos para troca (swap).
  • swapfile: O nome do arquivo que você deseja ativar. Como você está no diretório ~/project onde o arquivo está localizado, não precisa especificar o caminho completo.

Se o comando for bem-sucedido, ele não produzirá nenhuma saída. Este é o comportamento padrão para muitos comandos do Linux — a ausência de notícias é uma boa notícia.

Seu swapfile agora está ativo e sendo usado pelo sistema como memória virtual adicional. Na etapa final, você verificará se o novo espaço de swap foi adicionado com sucesso aos recursos totais de memória do sistema.

Verificar a Nova Configuração do Espaço de Swap

Parabéns! Você criou, formatou e ativou com sucesso um novo arquivo de swap. Nesta etapa final, você verificará se o sistema reconhece e está pronto para usar este novo recurso. Isso confirma que todas as etapas anteriores foram concluídas corretamente.

Vamos começar usando o mesmo comando do início deste laboratório, swapon --show. Executá-lo agora deve exibir uma lista atualizada dos espaços de swap ativos, incluindo o swapfile que você acabou de adicionar.

No seu terminal, execute o seguinte comando:

sudo swapon --show

A saída agora mostrará duas entradas: a partição de swap original (se existir uma) e o seu novo arquivo de swap. Observe a nova linha para /home/labex/project/swapfile.

NAME                         TYPE      SIZE USED PRIO
/dev/loop12                  partition   2G   0B   -2
/home/labex/project/swapfile file      250M   0B   -3

Como você pode ver, o sistema agora reconhece um espaço de swap do tipo file com 250M. Também foi atribuída a ele uma prioridade (PRIO). O kernel usará o espaço de swap com a prioridade mais alta primeiro.

Outro comando útil para verificar o uso de memória e swap é o free. Usar a opção -h (--human) torna a saída mais fácil de ler, exibindo os tamanhos em megabytes (M) ou gigabytes (G).

Execute o comando free -h:

free -h

Você verá um resumo da memória do sistema. Preste atenção especial à linha Swap.

               total        used        free      shared  buff/cache   available
Mem:           3.5Gi       608Mi       732Mi        16Mi       2.2Gi       2.7Gi
Swap:          2.2Gi          0B       2.2Gi

O valor total na linha Swap deve agora refletir o tamanho combinado do espaço de swap original e do seu novo arquivo de 250MB. Por exemplo, se você começou com 2G de swap, o novo total será de aproximadamente 2.2G.

Você adicionou e verificou com sucesso um novo arquivo de swap no seu sistema Linux, fornecendo a ele mais memória virtual para trabalhar.

Resumo

Neste laboratório, você aprendeu como criar e ativar um arquivo de swap para adicionar memória virtual a um sistema Linux. Você começou revisando a configuração existente do espaço de swap usando o comando sudo swapon --show para entender o estado atual da memória virtual do sistema e interpretar sua saída.

Após a revisão inicial, você procedeu com a criação de um novo arquivo de swap usando o comando dd para alocar o espaço em disco desejado. Em seguida, formatou esse arquivo para uso como swap com o mkswap e o ativou com o comando swapon, tornando-o imediatamente disponível para o sistema. Por fim, verificou que o novo arquivo de swap foi adicionado e ativado com sucesso ao executar swapon --show novamente, confirmando a configuração atualizada.