Introdução
Neste laboratório, você aprenderá a tarefa administrativa essencial de criar e ativar um arquivo de swap no Linux. Esse processo permite aumentar a memória virtual do sistema, algo fundamental quando a memória RAM física é insuficiente. Você praticará o uso de utilitários básicos de linha de comando para gerenciar os recursos do sistema com eficiência, usando uma alternativa flexível à criação de uma partição de swap dedicada.
Você percorrerá todo o fluxo de trabalho: primeiro, revisará o espaço de swap atual usando o comando swapon. Em seguida, criará um arquivo para a área de swap com dd, formatará o arquivo para uso como swap com mkswap, ativará o arquivo e configurará o Linux para reativá-lo após uma reinicialização. Para concluir o laboratório, você verificará se o novo arquivo de swap foi configurado corretamente e reconhecido pelo sistema.
Revisar o espaço de swap atual com swapon
Nesta etapa, você aprenderá a verificar a configuração atual do espaço de swap no sistema Linux. O espaço de swap é uma parte do disco rígido usada como memória virtual quando toda a memória física (RAM) está ocupada. Ele permite que o sistema execute mais aplicativos do que caberiam somente na memória RAM física.
Para começar, você usará o comando swapon, um utilitário que especifica dispositivos e arquivos para paginação e swap. Você usará a opção --show para exibir um resumo dos dispositivos de swap ativos. Como o gerenciamento do espaço de swap é uma tarefa administrativa, é necessário usar sudo para executar o comando com privilégios de root.
No terminal, que já está no diretório ~/project, execute o comando a seguir:
sudo swapon --show
Você verá uma saída semelhante à seguinte. Detalhes como NAME e SIZE podem variar conforme a configuração inicial da 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
Veja o significado de cada campo:
- NAME: nome do dispositivo ou arquivo de swap. Neste exemplo, é um dispositivo de loop (
/dev/loop12). - TYPE: tipo do espaço de swap, que pode ser
partitionoufile. - SIZE: tamanho total do espaço de swap.
- USED: quantidade de espaço de swap atualmente em uso.
- PRIO: prioridade do espaço de swap. Se houver vários espaços de swap, aquele com a prioridade mais alta será usado primeiro.
Ao executar esse comando, você revisou corretamente a configuração atual de swap do sistema. Nas etapas seguintes, você aprenderá a criar e ativar um novo arquivo de swap, uma forma flexível de adicionar espaço de swap sem reparticionar um disco.
Criar um arquivo para o espaço de swap com dd
Nesta etapa, você criará um arquivo dedicado que será usado como novo espaço de swap. Usar um arquivo de swap é um método flexível, pois não exige o reparticionamento do disco rígido.
Você usará o comando dd, um utilitário avançado para copiar e converter dados. Ele é ideal para essa tarefa porque pode criar um arquivo com tamanho exato lendo dados de um dispositivo especial do sistema chamado /dev/zero, que fornece um fluxo infinito de caracteres nulos (zeros).
Para criar um arquivo de 250 MB chamado swapfile no diretório atual (~/project), execute o comando a seguir. Você precisa usar sudo porque o arquivo será gerenciado pelo sistema.
sudo dd if=/dev/zero of=swapfile bs=1M count=250
Veja o significado de cada parte do comando:
sudo: executa o comando com privilégios deroot.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 chamadoswapfileno diretório atual.bs=1M: define o tamanho do bloco (block size) como 1 megabyte. Oddlerá e gravará os dados em blocos de 1 MB.count=250: copia 250 blocos. Como o tamanho do bloco é 1M, o resultado é um arquivo de 250 * 1M = 250 MB.
Depois de executar o comando, você verá uma saída confirmando que a operação foi concluída:
250+0 records in
250+0 records out
262144000 bytes (262 MB, 250 MiB) copied, 0.270222 s, 970 MB/s
Agora você criou corretamente um arquivo de 250 MB. Na próxima etapa, você formatará esse arquivo para que ele seja reconhecido como espaço de swap e definirá as permissões apropriadas.
Formatar o arquivo como swap com mkswap
Nesta etapa, você formatará o swapfile criado para que o sistema operacional o reconheça como uma área de swap válida. É nesse momento que o comando mkswap será usado.
O comando mkswap configura uma área de swap do Linux em um dispositivo ou arquivo. Ele grava no arquivo uma assinatura especial que o kernel consegue identificar.
Primeiro, formate o swapfile criado. No terminal, execute o comando a seguir:
sudo mkswap swapfile
Depois de executar o comando, você verá uma saída indicando que o espaço de swap foi configurado. O sistema atribuirá um identificador exclusivo (UUID) à nova área de swap. Também poderá aparecer um aviso sobre permissões inseguras, que será corrigido em seguida.
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
Observação importante sobre segurança: um arquivo de swap pode conter dados confidenciais da memória do computador. Por motivos de segurança, somente o usuário root deve ter permissão para ler e gravar nesse arquivo. Os demais usuários do sistema não devem ter nenhum 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 gravação e remove todos os acessos dos demais usuários.
Execute o comando a seguir para proteger o swapfile:
sudo chmod 600 swapfile
Se for bem-sucedido, esse comando não produzirá nenhuma saída. Agora você formatou corretamente o swapfile e protegeu suas permissões. O arquivo está pronto para ser ativado e usado pelo sistema, o que será feito na próxima etapa.
Ativar o novo arquivo de swap e torná-lo persistente
Você criou e preparou corretamente o swapfile. Ele já está formatado e tem as permissões corretas, mas o kernel do Linux ainda não o está usando como memória virtual. Nesta etapa, você ativará o arquivo de swap, tornando-o disponível para o sistema.
Para isso, você usará novamente o comando swapon. Na primeira etapa, você usou esse comando com a opção --show para visualizar a configuração atual. Desta vez, você fornecerá o caminho do swapfile como argumento para ativá-lo.
No terminal, localizado em ~/project, execute o comando a seguir para ativar o novo espaço de swap:
sudo swapon swapfile
Veja cada parte do comando:
sudo: é necessário porque ativar o espaço de swap é uma operação no nível do sistema que exige privilégios deroot.swapon: comando usado para ativar dispositivos e arquivos para swap.swapfile: nome do arquivo que você deseja ativar. Como você está no diretório~/project, onde o arquivo está localizado, não é necessário especificar o caminho completo.
Se o comando for bem-sucedido, ele não produzirá nenhuma saída. Esse é um comportamento comum em muitos comandos do Linux: quando não há mensagem de erro, a operação foi concluída.
O comando swapon ativa o arquivo somente durante a inicialização atual. Para que o Linux o ative automaticamente após uma reinicialização, adicione ao /etc/fstab uma entrada que contenha o caminho absoluto do arquivo de swap:
echo '/home/labex/project/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Os seis campos identificam o arquivo de swap, usam none porque o swap não tem ponto de montagem, selecionam o tipo swap e a opção padrão sw e desativam as verificações de dump e do sistema de arquivos com os dois zeros finais.
Agora o swapfile está ativo e configurado para continuar disponível após reinicializações. Na etapa final, você verificará se o novo espaço de swap foi adicionado corretamente aos recursos totais de memória do sistema.
Verificar a configuração do novo espaço de swap
Nesta etapa, você verificará se o sistema reconhece o novo arquivo de swap depois que ele foi criado, formatado, ativado e configurado de forma persistente. Isso confirma que todas as etapas anteriores foram concluídas corretamente.
Comece usando o mesmo comando do início deste laboratório: swapon --show. Agora, a execução do comando deve exibir uma lista atualizada dos espaços de swap ativos, incluindo o swapfile que você acabou de adicionar.
No terminal, execute o comando a seguir:
sudo swapon --show
A saída agora exibirá duas entradas: a partição de swap original, caso ela exista, e o novo arquivo de swap. Observe a nova linha referente a /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. Ele também recebeu uma prioridade (PRIO). O kernel usará primeiro o espaço de swap com a prioridade mais alta.
Outro comando útil para verificar o uso da memória e do swap é free. Usar a opção -h (--human) facilita a leitura da saída, 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 agora deve refletir o tamanho combinado do espaço de swap original e do novo arquivo de 250 MB. Por exemplo, se você começou com 2G de swap, o novo total será aproximadamente 2.2G.
Você adicionou e verificou corretamente um novo arquivo de swap no sistema Linux, fornecendo mais memória virtual para o sistema usar.
Resumo
Neste laboratório, você aprendeu a criar e ativar um arquivo de swap para adicionar memória virtual a um sistema Linux. Primeiro, revisou a configuração existente de espaço de swap usando o comando sudo swapon --show, para entender o estado atual da memória virtual do sistema e interpretar a saída.
Depois da revisão inicial, você criou um novo arquivo de swap usando o comando dd para alocar o espaço desejado no disco. Em seguida, formatou o arquivo para uso como swap com mkswap, ativou-o com o comando swapon e adicionou uma entrada ao /etc/fstab para que o Linux possa reativá-lo após uma reinicialização. Por fim, você verificou se o novo arquivo de swap foi adicionado e ativado corretamente executando novamente swapon --show, confirmando a configuração atualizada.



