Header Ads

Como criar um arquivo de SWAP no Linux



zentilia / Shutterstock. com
Adicione espaço de troca a um computador Linux ou aumente o espaço de troca que já está presente, sem mexer nas partições. Mostramos a você a maneira mais fácil de personalizar seu espaço de troca.

Trocar arquivos x partições de troca

Existem vários cenários em que você pode querer aumentar o espaço existente ou adicionar um novo espaço de troca ao seu computador Linux.
  • Talvez seu espaço de troca esteja sendo executado no máximo ou próximo do máximo.
  • É fácil clicar na opção errada durante o processo de instalação e recusar a adição de troca ao seu sistema inadvertidamente.
  • Talvez você tenha decidido anteriormente que tinha tanta memória de acesso aleatório (RAM) que não precisava de nenhuma troca, e que mudou de idéia.
  • Às vezes, você herda a administração de um sistema que não possui permuta, por motivos que nunca poderá descobrir.
A solução simples para tudo isso é adicionar permuta arquivo para o seu computador. Este é um arquivo especial, pré-alocado e reservado para uso como espaço de troca. Um arquivo de troca funcionará em conjunto com qualquer troca existente que você possa ter, seja um arquivo de troca ou uma partição de troca.
Ao mesmo tempo, houve um impacto no desempenho ao usar um arquivo de troca comparado a uma partição de troca. Esse não é mais o caso de melhorias no desempenho de discos rígidos mecânicos (giratórios) e mais eficiência nas funções de troca no sistema operacional Linux. De fato, agora algumas distribuições Linux usam como padrão a criação de arquivos de troca em vez de partições de troca.
A troca não é usada apenas como um meio de liberar RAM quando você está com pouca memória. É uma parte importante de um sistema que funciona bem. Sem nenhuma troca, o gerenciamento de memória sã se torna muito difícil para o kernel alcançar. Vamos ver a maneira mais fácil de adicionar algum espaço de troca.

Antes de mergulharmos: Btrfs e SSDs

Há dois pontos que gostaríamos de discutir rapidamente.
O sistema de arquivos Btrfs tem algumas ressalvas sobre os arquivos de troca. Houve um conflito entre a natureza de copiar e gravar do Btrfs, que queria operar de uma maneira e trocar os arquivos necessários para operar de outra. Algumas funções das quais os arquivos de troca dependem não foram implementadas e algumas suposições feitas sobre a numeração de blocos nos arquivos de troca não se mantiveram verdadeiras no Btrfs. Portanto, os arquivos de troca não eram suportados.
Desde o kernel 5.0, você pode ter arquivos de troca nos sistemas de arquivos Btrfs se eles estiverem configurados com os seguintes requisitos:
  • Não há arquivos de cópia na gravação (NOCOW).
  • Eles não são compactados.
  • Eles não ficam em discos rígidos diferentes.
A maioria dos leitores usará o sistema de arquivos ext4 padrão, portanto isso não será uma preocupação para eles.
RELACIONADO: Qual sistema de arquivos Linux você deve usar?
Quando as unidades de estado sólido (SSDs) foram disponibilizadas pela primeira vez, havia uma preocupação em usá-las em situações que tinham gravações freqüentes no sistema de arquivos. As pessoas foram avisadas de colocar espaço de troca nos SSDs e até mesmo para evitar o log do sistema nos SSDs.
Hoje em dia, isso é muito menos preocupante, e muitos SSDs que estão à venda têm expectativa de vida que superará a maioria dos PCs. Um arquivo de troca em um SSD terá um desempenho muito melhor do que uma partição de troca em um disco rígido mecânico.
RELACIONADO: Quanto tempo as unidades de estado sólido realmente duram?

Verificando o espaço de troca existente

Olhe antes de saltar. Vamos verificar qual espaço de troca está disponível no seu computador. Você pode fazer isso de duas maneiras, e nós usaremos as duas. O comando free exibirá a memória usada e livre. A opção -h (legível por humanos) fará com que o uso gratuito de unidades sensíveis seja livre quando ele exibir os valores da memória.

 livre -h 


A saída do free mostra que não há espaço de troca configurado nesta máquina.
A troca nunca é discutida sem a RAM e a RAM livre surgindo. Portanto, vale a pena notar que a RAM livre é fornecida como 237 MB. Não confunda isso com o total de RAM disponível para uso. Esse valor é fornecido pelo “ disponível ” 888 MB.

O Linux usa RAM livre para seus próprios propósitos, como cache de arquivos e buffers do kernel. A quantidade de RAM dedicada a isso é o buff / cache ” 871 MB. Mas essa memória ainda é considerada como "contada" e contada como "disponível". ” O conteúdo do “ buf / cache ” A RAM pode ser descartada imediatamente e usada por qualquer aplicativo que precise de memória.
Outra maneira de verificar se o espaço de troca está disponível é usar o comando swapon. A opção --show não faz alterações na troca no seu computador. Ele fornece apenas estatísticas.

 swapon --show 


Se não houver saída deste comando, não haverá troca configurada.
Se esses comandos revelaram que algum espaço de troca já está configurado, o tamanho do espaço de troca existente deve ser levado em consideração nas decisões relacionadas ao tamanho do arquivo de troca que você irá criar.

Quanto espaço de swap preciso?

A resposta tradicional foi "duas vezes a quantidade de RAM que você tem". ” Mas isso foi cunhado quando os computadores costumavam ter RAM muito limitada. À medida que a RAM ficou mais barata e os programas e jogos mais exigentes de memória, as especificações do PC foram ajustadas de acordo. Atualmente, os PCs domésticos com 32 GB de RAM não são incomuns. E você não alocará 64 GB de espaço no disco rígido para trocar espaço, se você tiver 32 GB de RAM. Isso é claramente excessivo.
A quantidade de swap necessária é como um assunto incendiário, comparável ao “ que é o melhor editor. ” Uma das discussões mais sensatas que vimos sobre esse tópico está nas perguntas frequentes sobre a troca do Ubuntu. É uma abordagem curta e de bom senso (embora, como muitas pessoas, eles entendam mal como o swappiness funciona no Linux). Há uma tabela útil que mostra uma quantidade recomendada de espaço de troca para a quantidade de RAM que seu sistema possui e se você hiberna ou não o computador.
E a boa notícia é que isso realmente não importa qual o valor que você escolhe. Sempre podemos remover um arquivo de troca e substituí-lo por um maior ou, nesse caso, por um menor. Ou você pode simplesmente adicionar outro arquivo de troca.
Escolha um tamanho de arquivo de troca da tabela e execute-o por um tempo. Monitore o uso do espaço de troca pelo seu sistema. Se o ajuste fino for necessário, as alterações serão feitas com facilidade. Com arquivos de troca, é um trabalho de dois minutos. Compare isso ao ajustar partições em um computador Linux ativo.
RELACIONADO: O que é Swappiness no Linux? (e como alterá-lo)

Criando o arquivo de troca

Você não deve usar o comando fallocate para criar seu arquivo de troca. Isto é da página de manual do swapon:

 A implementação do arquivo de permuta no kernel espera poder gravar diretamente no arquivo, sem a assistência do sistema de arquivos. Esse é um problema em arquivos com falhas ou em arquivos de cópia na gravação em sistemas de arquivos como o Btrfs. Comandos como cp (1) ou truncate (1) criam arquivos com furos. Esses arquivos serão rejeitados pelo swapon. Arquivos pré-alocados criados por fallocate (1) podem ser interpretados como arquivos com falhas também, dependendo do sistema de arquivos. Os arquivos de troca pré-alocados são suportados no XFS desde o Linux 4.18. A solução mais portátil para criar um arquivo de troca é usar dd (1) e /dev/zero.
Portanto, embora o fallocate seja mais rápido, usaremos o dd para criar o arquivo de troca. A máquina usada para pesquisar este artigo possui dois GB de RAM. Nós vamos criar um arquivo de troca de um GB.
As opções são:
  • if: O arquivo de entrada. Neste exemplo, estamos usando / dev / zero, que fornecerá um fluxo de zero bytes.
  • of: O arquivo de saída. Vamos criar um arquivo no diretório raiz, chamado swapfile.
  • bs: o tamanho do bloco em bytes. Isso especifica quantos bytes devem ser lidos no arquivo de entrada e gravados no arquivo de saída por vez.
  • count: Quantos blocos são lidos e gravados. Multiplique esse número pelo valor de bs para obter o tamanho do arquivo.

 sudo dd se = / dev / zero de = / swapfile bs = 1024 count = 1048576 



Algumas estatísticas são fornecidas quando o arquivo é criado.


Podemos ver o número de blocos (registros) gravados no arquivo, o tamanho do arquivo, o tempo necessário para criar o arquivo e a taxa efetiva de transferência de dados.
Use o comando ls para ver o arquivo no diretório raiz:

 ls / 


Preparando o arquivo de troca

Precisamos preparar o arquivo de troca com o comando mkswap antes que ele possa ser usado. Não precisamos fornecer parâmetros para o mkswap que não sejam o caminho e o nome do arquivo:

 sudo mkswap / swapfile 


O arquivo está preparado para ser usado como um arquivo de troca. Observe o aviso sobre permissões de arquivo. Precisamos alterá-los para que o usuário root seja o único que possa ler e gravar no arquivo de troca.

Usando o arquivo de troca

As permissões padrão são muito liberais, precisamos restringi-las para que somente o root possa usar o arquivo de troca. Use chmod para alterar as permissões do arquivo:

 sudo chmod 600 / swapfile 


Isso remove todas as permissões dos membros do grupo de arquivos e de outros, mas permite que o proprietário do arquivo, root, leia e grave no arquivo.
RELATED: Como usar o comando chmod no Linux
Precisamos usar o comando swapon para informar ao Linux que existe um novo arquivo de troca disponível para uso. Só precisamos fornecer o caminho e o nome do arquivo:

 sudo swapon / swapfile 


O arquivo de troca está ativo agora.

Adicionando o arquivo de permuta ao fstab

Para garantir que seu arquivo de permuta esteja disponível após uma reinicialização, adicione-o ao arquivo / etc / fstab. Você pode usar qualquer editor de texto que preferir, mas mostraremos o processo usando o editor de texto gráfico Gedit.

 sudo gedit / etc / fstab 


A linha que precisamos adicionar ao final do arquivo é:

 / swapfile nenhum swap de troca 0 0 


Os campos são:
  • Sistema de arquivos: o caminho e o nome do arquivo de troca.
  • Ponto de montagem: o arquivo não é montado como um sistema de arquivos; portanto, a entrada não é nenhuma. . ”
  • Tipo: Este é o swap. ”
  • Opções: no momento da inicialização, o swapon -a (iniciar todos os dispositivos marcados como swap) ser chamado de um dos scripts de inicialização. Essa opção instrui o Linux a tratar essa entrada como um recurso de troca que deve estar sob o controle desse comando swapon -a. É comum ver "padrões" ” usado aqui porque existe uma crença equivocada entre alguns usuários de Linux de que este campo é ignorado. Como veremos, esse não é o caso. Portanto, faz sentido usar a opção correta.
  • Despejo: isso pode ser definido como zero. É irrelevante neste caso.
  • Aprovado: pode ser definido como zero. É irrelevante neste caso.
Salve as alterações e feche o editor.
RELACIONADO: Como gravar um arquivo fstab no Linux

Verificando o uso de swap

Para verificar se seu espaço de swap está sendo usado, use o comando swapon com a opção --show:

 swapon --show 


As colunas são:
  • Nome: o nome da partição ou arquivo de troca.
  • Tipo: o tipo de dispositivo de troca.
  • Tamanho: o tamanho do recurso de troca.
  • Usado: a quantidade de espaço de troca usado.
  • Prio: a prioridade desse espaço de troca.

A prioridade do espaço de troca

Cada espaço de troca recebe uma prioridade. Se você não fornecer um, um será automaticamente alocado. As prioridades alocadas automaticamente são sempre negativas. O intervalo de prioridades que podem ser alocadas manualmente é de 0 a 32767. Os recursos de swap com prioridades mais altas são usados ​​primeiro.
Se mais de um espaço de troca tiver a mesma prioridade, eles serão usados ​​alternadamente até que ambos estejam cheios, o sistema procurará o espaço de troca com a próxima prioridade mais baixa. Se você tiver apenas um único espaço de troca, a prioridade é irrelevante, é claro. Mas mudaremos a prioridade do arquivo de troca que criamos para demonstrar como fazê-lo.
Para definir uma prioridade, adicione a opção pri = (priority) à entrada / etc / fstab. Edite a linha que você adicionou ao / etc / fstab para ficar assim:


 / swapfile nenhum swap sw, pri = 10 0 0 
Ou seja, adicione pri = 10 ao campo de opções, separado do “ sw ” com uma vírgula. Não deixe espaços entre os "sw", a vírgula e os "pri = 10". ” Reinicialize seu computador e use o comando swapon --show:

 swapon - show 


A prioridade desse espaço de troca foi elevada a 10. O que é uma prova positiva de que o campo de opções na entrada / etc / fstab não é ignorado.

Troque o espaço com facilidade

Recortando a exposição e a explicação, podemos criar um novo arquivo de troca de maneira fácil e rápida:

 sudo dd se = / dev / zero / of = / swapfile2 bs = 1024 count = 104857 

 sudo mkswap / swapfile2 

 sudo chmod 600 / swapfile2 

 sudo swapon / swapfile2 
E vamos verificar se funcionou :

 swapon --show 


Se você quiser fazer essa queda permanente, coloque-a no seu arquivo / etc / fstab. </ p>
Lança. Trabalho feito.
Via: How to Geek

Veja Também:

















Nenhum comentário