Il y a tellement de raisons d'avoir plusieurs zones de swap (elles n'ont pas besoin d'être des fichiers), même si vous n'avez qu'une seule broche.
Rétrospective 20-20: vous avez déployé une machine avec une seule zone de swap, puis vous vous êtes rendu compte que ce n'était pas suffisant. Vous ne pouvez pas redéployer la machine à volonté, mais vous pouvez créer une autre zone de swap (probablement un fichier) jusqu'à ce que refaire la disposition de la partition devienne une option.
Redimensionner ou déplacer des zones de swap: Vous ne pouvez pas redimensionner des zones de swap (comme mentionné par Evan Teitelman ). Et vous ne pouvez pas simplement swapoff
créer une nouvelle zone de swap, puis de swapon
nouveau à moins que vous n'ayez assez de RAM: vous voulez swapoff
déplacer toutes les pages échangées vers la RAM avant de lâcher la zone de swap. Donc, vous créez une zone de swap temporaire, swapoff
l'original, attendez que toutes les pages soient déplacées de l'ancienne zone de swap vers la temporaire, redimensionnez la partition de swap d'origine, mkswap
elle, puis swapon
la redimensionnée et swapoff
la temporaire. Les pages échangées sont copiées de la zone d'échange temporaire vers la zone redimensionnée, et vous avez terminé. Si vous déplacez des zones d'échange, vous n'avez même pas besoin d'une zone temporaire. mkswap
le nouveau swapon
, alorsswapoff
l'ancien et tout a bougé.
Échange rapide et fou: les disques modernes utilisent l' enregistrement de bits de zone . La première zone du disque est la plus rapide. Vous souhaiterez peut-être mesurer le disque et créer une partition couvrant exactement la première zone la plus rapide du lecteur. Cela peut être plus petit que votre taille de swap prévue. Vous ajoutez donc plusieurs partitions sur plusieurs disques, en utilisant la même technique.
Échange rapide et fou, la suite: alternativement, une fois que vous savez où se trouvent les zones les plus rapides de vos disques, vous pouvez créer des zones d'échange de priorité élevée dans la première zone, des zones d'échange de priorité inférieure dans la deuxième zone, etc. De cette façon, votre système d'échange sait automatiquement pour équilibrer la charge sur toutes les zones de disque rapide, préférez les zones plus rapides et utilisez les zones plus lentes comme zone de débordement lorsque le besoin s'en fait sentir.
Équilibrage de charge symétrique: sur un système bien construit avec de nombreuses broches (comme un serveur), j'aime avoir plusieurs partitions de swap occupant le début de chaque disque (pour profiter de l' enregistrement de bits de zone ). Ils ont tous des priorités identiques, donc le noyau équilibrera la charge du swap. Une broche peut vous donner 100 Mo / s, mais un échange entre toutes les broches peut vous en donner un multiple. (parlant naïvement)
Équilibrage de charge compatible avec les goulots d'étranglement : dans la pratique, cependant, d'autres goulots d'étranglement sont en place. Ainsi, par exemple, un serveur à 16 disques peut avoir quatre ports SATA à 6 Gbit / s, chacun avec un multiplicateur à quatre ports et quatre disques partageant la bande passante. Si vous le savez, vous pouvez organiser vos espaces de swap afin que le disque 1 sur les ports 1 à 4 ait la priorité la plus élevée, les deuxièmes disques sur les ports 1 à 4 aient la deuxième priorité la plus élevée, etc. multiplicateurs de ports.
Échange entre des appareils avec des performances différentes: (comme mentionné par Luke) si votre système n'est pas un tout nouveau serveur, et qu'il s'est développé de manière organique au fil des ans, il peut avoir des appareils bloqués beaucoup plus rapides que les autres. Vous voudrez d'abord passer à l'appareil le plus rapide, puis au suivant le plus rapide, etc.
Considérations sur la taille: (gracieuseté de David Kohen ) peut-être que mettre tout votre swap sur un disque laisse quelques concerts gratuits sur le disque (cela ressemble à un scénario de 2001, mais il y a beaucoup de vieux appareils ou intégrés où cela pourrait être un problème). Répartissez-le sur tous les lecteurs, et en plus de tous les autres avantages ci-dessus, vous obtenez une meilleure utilisation de l'espace disque par lecteur. C'est une chose de perdre quelques concerts par broche, et une autre de perdre 300 concerts d'un disque.
Urgences: vous avez exactement 96 heures pour soumettre votre thèse de doctorat, et votre dernière expérience (celle qui vous procurera ce prix Nobel ainsi que les lettres funky mixtes après votre nom) aspire la mémoire à des taux impressionnants. Vous n'avez presque plus d'échange. Vous créez un fichier d'échange avec une priorité inférieure à la priorité de votre périphérique d'échange principal - le noyau l'utilisera comme espace d'échange de débordement. Vous pouvez même installer swapd pour le faire automatiquement pour vous, vous aurez donc beaucoup d'espace de swap pour ces énormes emacs
exécutions et LaTeX.
Échange sur différents supports: Linux ne peut pas échanger sur des périphériques de caractères, mais il existe de nombreux supports différents, physiques et virtuels: SSD (remarque: vous ne voulez probablement pas échanger sur des SSD), des dizaines de types différents et incroyablement différents de tourner dur disques, disquettes (oui, vous pouvez échanger sur une disquette - vous pouvez toujours vous tirer une balle dans le pied avec Unix), volumes DRBD , iSCSI, volumes LVM, partitions chiffrées LUKS, etc. swap sur LUKS sur LVM sur un lecteur ZIP à port parallèle via iSCSI sur Ethernet agrégé IEEE802.3ad? Pas de problème, sale pervers). Ce sont des scénarios de niche et sont destinés à prendre en charge les exigences de niche.