65 votes

partition swap ou fichier swap

Je lisais les nouvelles modifications apportées à Ubuntu 17.04 et l'une d'entre elles a attiré mon attention : le passage du modèle de partition swap typique à un nouveau modèle de fichier swap pour les nouvelles installations.

Y a-t-il des avantages à utiliser cette partition plutôt qu'une partition d'échange, peut-être en termes de performances, d'économie d'espace, de conformité avec le matériel actuel comme les SSD et les NVMe ou autre ?

Une autre question connexe est de savoir comment migrer d'une partition swap vers un fichier swap ? Je suppose que je dois utiliser dd mais je veux confirmer car je ne connaissais pas le système de fichiers d'échange jusqu'à maintenant.

Et enfin, l'hibernation sera-t-elle un problème avec les fichiers d'échange ?

Bien sûr, ces questions peuvent être liées à des cas où l'utilisateur dispose de beaucoup de RAM et où le swap est rarement utilisé (je suppose). Donc, juste pour confirmer que cette information m'aidera et aidera d'autres personnes ayant les mêmes doutes.

51voto

gmatht Points 681

L'avantage principal d'un fichier d'échange est qu'il est facile à redimensionner, donc il n'y a pas beaucoup d'intérêt à faire la transition à moins que vous ne soyez pas satisfait de la taille de votre partition d'échange. Vous pouvez déplacer le fichier d'échange vers une partition chiffrée pour plus de sécurité, mais il existe d'autres moyens de chiffrer votre fichier d'échange.

Traditionnellement, les swapfile étaient découragés pour un certain nombre de raisons. Le fichier d'échange était plus lent avant Linux v2.4 et peut encore être plus lent si vous créez le fichier d'échange sur un système de fichiers fragmenté. Vous pouvez être un peu plus susceptible de rencontrer des problèmes de mémoire avec les fichiers d'échange, par exemple les situations où vous ne pouvez pas allouer plus de mémoire avant d'en avoir échangé, mais où le système de fichiers doit allouer avant que vous puissiez échanger. Il y a quelques années, l'hibernation vers les fichiers d'échange était une nouvelle fonctionnalité controversée pour des raisons similaires. Il y a quelques années, lorsque les systèmes de fichiers étaient encore un peu bogués (et non journalisés), il était peu judicieux d'effectuer un grand nombre d'écritures sur des systèmes de fichiers importants, alors que vous pouviez simplement utiliser une partition d'échange à la place. En tant que tradition par défaut, les partitions d'échange ont été testées plus que les fichiers d'échange. On peut supposer que Canonical pense que ces problèmes ne valent plus la peine de s'en préoccuper.

La plus grande raison de ne pas passer à un fichier d'échange est "pourquoi réparer quelque chose qui n'est pas cassé". Si vous ne sauvegardez pas votre partition principale, et que vous supprimez accidentellement votre /home au lieu de votre partition d'échange, ce serait une galère d'essayer de la récupérer.

Une autre raison de ne pas passer aux swapfiles, c'est si vous utilisez btrfs dont ne supporte pas les swapfiles avant le noyau 5.0 (sauf via des fichiers de bouclage lents)


Même si vous décidez d'opter pour un fichier d'échange, il n'est pas vraiment nécessaire de supprimer votre partition d'échange, sauf si vous manquez d'espace. Vous pouvez utiliser les deux en même temps si vous le souhaitez. Si vous décidez de supprimer la partition d'échange, démarrez tout d'abord avec un LiveCD Ubuntu, et allez à try without installing . Ensuite, dans un terminal, exécutez gparted supprimez la partition d'échange et redimensionnez les autres partitions (il peut être judicieux de faire une sauvegarde au préalable).

Maintenant, redémarrez dans votre installation Ubuntu normale et créez le fichier d'échange. Comme l'avantage d'un fichier d'échange est qu'il est facile à redimensionner, vous pouvez utiliser SwapSpace pour gérer la taille de votre fichier d'échange :

sudo apt install swapspace

Vous pouvez également créer manuellement un fichier d'échange en suivant les instructions de la page : https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04

Pour faire court, vous pouvez créer un fichier d'échange de 1G en collant le texte suivant dans un terminal

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show

Si cela fonctionne, vous pouvez le rendre permanent en le faisant :

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X