Existem muitas razões para ter várias áreas de troca (elas não precisam ser arquivos), mesmo que você tenha apenas um eixo.
20-20 retrospectiva: você implantou uma máquina com uma única área de troca e acabou percebendo que não era suficiente. Você não pode reimplementar a máquina à vontade, mas pode fazer outra área de troca (provavelmente um arquivo) até refazer o layout da partição se tornar uma opção.
Redimensionando ou movendo áreas de troca: Você não pode redimensionar áreas de troca (como mencionado por Evan Teitelman ). E você não pode simplesmente swapoff
criar uma nova área de troca e, a swapon
menos que tenha RAM suficiente: swapoff
deseja mover todas as páginas trocadas para a RAM antes de deixar a área de troca. Assim, você cria uma área de troca temporária, swapoff
a original, aguarde até que todas as páginas sejam movidas da área de troca antiga para a temporária, redimensione a partição de troca original e mkswap
, em seguida, swapon
a redimensionada e swapoff
a temporária. As páginas trocadas são copiadas da área de troca temporária para a área redimensionada e pronto. Se você estiver movendo áreas de swap, nem precisará de uma área temporária. mkswap
o novo swapon
, entãoswapoff
o antigo e tudo mudou.
Troca rápida louca: os discos modernos empregam gravação de zona de bits . A primeira zona do disco é a mais rápida. Você pode medir o disco e criar uma partição que cubra exatamente a primeira zona mais rápida da unidade. Isso pode ser menor que o tamanho de troca pretendido. Então você adiciona várias partições em vários discos, usando a mesma técnica.
Troca rápida louca, a sequência: alternativamente, depois de saber onde estão as zonas mais rápidas dos discos, você pode criar áreas de troca de alta prioridade na primeira zona, áreas de troca de prioridade mais baixa na segunda zona, etc. Dessa forma, seu sistema de troca sabe automaticamente para carregar o equilíbrio em todas as zonas rápidas do disco, prefira as zonas mais rápidas e use as zonas mais lentas como uma área de estouro quando necessário.
Balanceamento de carga simétrico: em um sistema bem construído com muitos eixos (como um servidor), eu gosto de ter várias partições de swap ocupando o início de cada disco (para aproveitar a gravação de bits de zona ). Todos eles têm prioridades idênticas, portanto o kernel fará o balanceamento de carga da troca. Um eixo pode fornecer 100 MB / s, mas a troca por todos os eixos pode gerar um múltiplo disso. (ingênuo falando)
Balanceamento de carga com reconhecimento de gargalos: na prática, existem outros gargalos em vigor. Assim, por exemplo, um servidor de 16 discos pode ter quatro portas SATA de 6 Gbps, cada uma com um multiplicador de quatro portas e quatro discos compartilhando a largura de banda. Se você souber disso, poderá organizar seus espaços de troca para que o Disco 1 nas Portas 1 a 4 tenha a maior prioridade, os segundos discos nas portas 1 a 4 tenham a segunda maior prioridade, etc. Isso carregará a troca de saldo, mas não sobrecarregará multiplicadores de portas.
Trocando dispositivos com desempenho diferente: (como mencionado por Luke) se o seu sistema não for um servidor totalmente novo e crescer organicamente ao longo dos anos, poderá haver dispositivos de bloco significativamente mais rápidos que outros. Você deseja trocar primeiro pelo dispositivo mais rápido, depois pelo próximo mais rápido etc.
Considerações sobre tamanho: (cortesia de David Kohen ) talvez colocar toda a sua troca em uma unidade deixe alguns shows gratuitos na unidade (isso soa como um cenário de 2001, mas há muitos dispositivos antigos ou incorporados onde isso pode ser um problema). Divida-o em todas as unidades e, além de todos os outros benefícios acima, você obtém melhor uso do espaço em disco por unidade. Uma coisa é perder alguns shows por eixo e outra perder 300 shows em um disco.
Emergências: você tem exatamente 96 horas para enviar sua tese de doutorado, e seu último experimento (aquele que provavelmente lhe renderá o prêmio Nobel, além de letras mistas e funky depois do seu nome) está sugando a memória a taxas impressionantes. Você está quase sem troca. Você cria um arquivo de troca com uma prioridade menor que a prioridade do seu principal dispositivo de troca - o kernel o utilizará como espaço de troca excedente. Você pode até instalar o swapd para fazer isso automaticamente, para que você tenha bastante espaço de troca para aqueles grandes emacs
e executados em LaTeX.
Swapping across different media: Linux can't swap to character devices, but there are lots of different media, physical and virtual: SSDs (note: you probably don't want to swap on SSDs), dozens of shockingly different types of spinning hard disks, floppies (yes, you can swap on a floppy — you can always shoot yourself in the foot with Unix), DRBD volumes, iSCSI, LVM volumes, LUKS encrypted partitions, etc (including surreal, mind-boggling layered combinations of these — swap on LUKS on LVM on a parallel port ZIP drive over iSCSI over IEEE802.3ad aggregated Ethernet? No problem, you filthy pervert). These are niche scenarios, and are meant to support niche requirements.
Várias unidades de disco de velocidade. Você pode configurar o mais rápido a ser usado primeiro, seguido pelos mais lentos, se esse falhar.
fonte
Você não pode expandir arquivos de troca (pelo menos, tanto quanto eu saiba) ou trocar partições enquanto elas estiverem em uso. Se você está prestes a preencher sua área de troca disponível, pode ser necessário criar arquivos de troca adicionais.
Além disso, se um sistema precisar de 4 GB de espaço de troca e tiver duas unidades de armazenamento de 2 GB, deverá usar pelo menos duas áreas de troca.
fonte