Un fichier d'échange est plus flexible mais aussi plus faillible qu'une partition d'échange. Une erreur du système de fichiers pourrait endommager le fichier d'échange. Un fichier d'échange peut être pénible pour l'administrateur, car le fichier ne peut pas être déplacé ou supprimé. Un fichier d'échange ne peut pas être utilisé pour l'hibernation. Un fichier d'échange était légèrement plus lent dans le passé, bien que la différence soit négligeable de nos jours.
L'avantage d'un fichier d'échange est de ne pas avoir à décider de la taille à l'avance. Cependant, sous Linux, vous ne pouvez toujours pas redimensionner un fichier d'échange en ligne :vous devez le désenregistrer, le redimensionner, puis le réenregistrer (ou créer un fichier différent et supprimer l'ancien). Il n'y a donc pas beaucoup d'avantages à un fichier d'échange sous Linux, par rapport à une partition d'échange. C'est principalement utile lorsque vous avez temporairement besoin de plus de mémoire virtuelle, plutôt que de manière permanente.
Une partition d'échange peut être préférée car elle évite une dépendance au système de fichiers lorsque tout ce dont vous avez besoin est un pool de mémoire adressable.
Mais rien ne vous empêche d'utiliser un fichier d'échange à la place d'une partition d'échange, ou en plus d'une partition d'échange.
-
Créez le fichier :
dd if=/dev/zero of=/extraswap bs=1M count=512
-
Initialiser le contenu du fichier :
mkswap /extraswap
-
Utilisez-le :
swapon /extraswap
-
Voyez si cela a fonctionné :
free -m
Afin de commencer à utiliser le fichier d'échange toujours au démarrage, modifiez /etc/fstab et ajoutez
/extraswap swap swap defaults 0 0
[1] http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/s1-swap-adding.html
La raison principale est peut-être que la suspension sur disque du noyau principal ne fonctionne pas avec les fichiers d'échange. Par exemple, les instructions du wiki Debian consistent à installer uswsusp
si vous en avez besoin.
Plus récemment, les fichiers d'échange ne fonctionnent pas si le système de fichiers est btrfs
, il est donc plus simple pour les distributions de toujours créer un swap en tant que partition.
Il est vaguement mentionné que l'utilisation d'un fichier pour le swap avait des performances potentiellement inférieures à celles d'une partition, avant la version 2.6 du noyau. https://www.kernel.org/doc/gorman/html/understand/understand014.html#text15