Como trabalhar com vários arquivos ou partições de swap no Linux – Elias Praciano
Categories
Análises Linux Tutoriais

Como trabalhar com vários arquivos ou partições de swap no Linux

Como obter melhor performance da gestão de memória do Linux, dividindo o SWAP entre vários dispositivos de armazenamento.
Como priorizar uma partição de swap sobre as outras e quais critérios usar.

Algumas pessoas precisam dividir seu espaço de troca ou memória virtual em diversos dispositivos físicos ou arquivos.
O recurso do swap, no Linux, é bastante maleável e flexível neste ponto.
É comum adquirir um computador e separar uma partição para o swap baseado na quantidade de memória presente no sistema.

Acrescentar um disco rígido ou um outro pente de memória, podem motivar a alteração na sua configuração de swap.

Por outro lado, fazer upgrade de hardware também é comum para muitos usuários.
Ao acrescentar memória RAM, suas necessidades para swapping mudam.
Instalar um SSD no sistema, ao lado do HDD, torna possíve aproveitar o recurso de hardware novo para obter melhor desempenho em tarefas pesadas.
Por estes e outros motivos você pode se ver forçado ou tentado a querer alterar a configuração do seu sistema de memória virtual.


Por favor, leia o artigo Perguntas e respostas sobre o swap, caso ainda restem dúvidas sobre o assunto.
Naquele artigo, há uma tabela com a relação entre quantidade de memória e tamanho de swap adequado — caso você tenha dúvidas sobre este quesito também.

Como configurar o fstab para as suas partições de swap

Não há segredo para configurar o swap no fstab.
Trata-se de um tipo especial de sistema de arquivos e geralmente segue a mesma configuração em todos os sistemas.
Esta é uma configuração modelo do swap, no fstab:

/dev/hda6   swap     swap   defaults        0   0

É seguro adotar este modelo para todas as partições e arquivos swap presentes no seu sistema. Faça apenas as alterações necessárias para refletir a sua situação.
Para fazer com que o fstab tenha efeito, você precisa reiniciar o sistema ou usar o comando mount:


sudo mount -va

Você também pode usar o comando swapon para ativar imediatamente um arquivo ou partição swap:


sudo swapon /dev/sdb2 /dev/sda2

Indique, para o swapon, todas as partições/arquivos swap presentes, que você queira usar.
No exemplo, acima, relacionei as minhas duas partições em ordem, começando pela mais prioritária.
Mas lembre-se que os ajustes feitos com o mount e swapon se perdem após reiniciar o sistema.
É necessário editar o fstab, para ter uma configuração persistente.
Sempre é possível usar o swapon, também para verificar a sua configuração de espaço de troca atual:


sudo swapon -v

[sudo] senha para justincase: 
NAME      TYPE      SIZE USED PRIO
/dev/sdb2 partition   3G   0B   -1
/dev/sda2 partition 8,8G   0B   -2

Leia mais sobre como criar um arquivo de swap.

Como dar mais prioridade a uma partição ou arquivo de swap

Se uma partição swap estiver em um drive mais rápido que os outros (um SSD, por exemplo), pode ser interessante configurar o sistema para começar a fazer o swapping por este dispositivo, que vai oferecer tempo de resposta muito menor.
Veja como especificar as prioridades de swap, no fstab:

/dev/sdb2   none    swap    sw,pri=2    0   0
/dev/hda2   none    swap    sw,pri=1    0   0

Com esta configuração (acima), o kernel irá priorizar a partição /dev/sdb2 (pri=2) — com o maior valor de prioridade da lista.
Assim que sua capacidade se esgotar, o kernel passará a usar a partição /dev/hda2 (pri=1), com valor de prioridade menor.
O valor da prioridade pode variar entre 0 e 32767.
0 é a menor prioridade possível e 32767 é a máxima.

Dê prioridade máxima ao arquivo ou partição swap que se encontrar no dispositivo de armazenamento mais rápido.
Esta configuração irá minimizar a perda de desempenho causada pelo uso do swap.

Configuração de RAID no swap

É possível fazer uso simultâneo de todas as partições swap disponíveis no seu sistema.
Para obter esta configuração, basta dar o mesmo nível de prioridade a todas elas.
Veja um exemplo:

/dev/hdb3   none   swap   sw,pri=1   0   0
/dev/hdd3   none   swap   sw,pri=1   0   0
/dev/hdc3   none   swap   sw,pri=1   0   0

Para obter um desempenho melhor, o ideal é que cada partição esteja em um drive físico diferente.

Conclusão

Na imagem, abaixo, você pode ver como configurei o meu swap
configuração do swap no linux fstab
Com 8 GiB de memória RAM e um SSD de 24 GiB, julguei interessante distribuir o espaço de troca recomendado, de 11 GiB entre o SSD e o HDD.
Assim, deixei 3 GiB de swap na unidade de estado sólido e o restante no disco rígido — dando maior prioridade à primeira.
Houve ganho de performance no sistema, toda vez em que foi necessário fazer uso da memória virtual.
Infelizmente, a unidade SSD já tem mais de 5 anos e eu espero que esta configuração tenha algum impacto negativo na sua durabilidade.
Tudo tem um preço, não é?
[blog_subscription_form]

Referências

http://www.tldp.org/HOWTO/Partition/setting_up_swap.html.

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.