partition d'échange vs fichier d'échange

47

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

Y a-t-il des avantages à l’utiliser par opposition à une partition de swap, peut-être en termes de performances, d’économie d’espace, plus en phase avec le matériel actuel comme les disques SSD et NVMe ou autre?

Une autre question connexe est de savoir comment puis-je migrer d'une partition d'échange vers un fichier d'échange? Je devine en utilisant dd mais je veux confirmer car je ne connaissais pas le schéma de fichier d'échange jusqu'à présent.

Enfin, l'hibernation posera-t-elle un problème avec les fichiers d'échange?

Bien sûr, ces questions pourraient être liées à des cas où l'utilisateur dispose de beaucoup de RAM et où l'échange est rarement utilisé (je suppose). Donc, juste pour confirmer que cette information va m'aider et aider les autres avec les mêmes doutes.

Luis Alvarado
la source
À propos de la question connexe: askubuntu.com/questions/903414/… (le cas échéant)
muru
digitalocean.com/community/tutorials/… - Je ne peux pas dire que cela a fait une différence, je ne peux vraiment pas. Le système fonctionne bien comme avant (le swap était de toute façon rarement utilisé).
Voici comment ajouter un fichier d'échange . En 17.04, c'est un fichier /swapfile. Hibernation peut être un problème.
Takkat
muru @CelticWarrior Takkat merci pour les liens et l'information les gars. Très utile en effet. Si possible Celtic, si vous pouviez s'il vous plaît ajouter les réponses spécifiques ici dans AskUbuntu au cas où. Pour tout le monde, s'assurer que les réponses étaient à jour (pas en 2012, mais bien en 2016-2017, lorsque tout le fichier d'échange a commencé) aiderait beaucoup et éviterait tout ce qui se produirait au cours de cette période qui a changé.
Luis Alvarado
1
Si la partition racine est chiffrée, le fichier d'échange est également chiffré - automatiquement. Pas besoin de faire quelque chose de spécial. Il s’agit donc d’une amélioration pour l’utilisateur général, qui peut oublier de chiffrer le swap.
Maris B.

Réponses:

35

Le seul avantage d'un fichier d'échange est qu'il est facile à redimensionner. Il est donc inutile de procéder à une transition, sauf si vous n'êtes pas satisfait de la taille de votre partition d'échange.

Les fichiers d'échange étaient traditionnellement découragés pour un certain nombre de raisons. Le fichier d'échange était plus lent avant Linux v2.4, et peut-être encore plus lent si vous créez le fichier d'échange sur un système de fichiers fragmenté. Vous avez peut-être un peu plus de chance de rencontrer des bugs de mémoire avec des fichiers d'échange, par exemple les catch-22 où vous ne pouvez plus allouer de mémoire tant que vous n'en avez pas encore échangé, mais le système de fichiers doit en allouer avant de pouvoir l'échanger. Hiberner sur swapfiles il y a quelques années était une nouvelle fonctionnalité controversée pour des raisons similaires. Il y a des années, lorsque les systèmes de fichiers étaient encore un peu bogués (et non journalisés), il était déconseillé de faire un nombre considérable d'écritures de systèmes de fichiers importants, alors que vous pouviez simplement utiliser un fichier d'échange. En tant que tradition par défaut, les partitions d'échange ont été testées davantage que les fichiers d'échange. Canonical pense probablement que ces problèmes ne valent plus la peine de s’inquiéter.

La principale raison maintenant de ne pas passer à un fichier d'échange est "pourquoi réparer quelque chose qui n'est pas endommagé". Si vous ne sauvegardez pas votre partition principale et supprimez accidentellement /homevotre fichier d'échange, il serait fastidieux de le récupérer.

Une autre raison de ne pas passer aux fichiers d'échange, c'est si vous utilisez un ordinateurbtrfs qui ne prend pas encore en charge les fichiers d' échange (sauf via les fichiers de bouclage lents)


Même si vous décidez de choisir 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 de swap, commencez par démarrer avec un LiveCD Ubuntu, et c'est parti try without installing. Ensuite, dans une exécution de terminal gparted, supprimez la partition de swap et redimensionnez les partitions restantes (faire une sauvegarde en premier peut être une bonne idée).

Maintenant, redémarrez dans votre installation Ubuntu habituelle et créez le fichier d'échange. L'avantage d'un fichier d'échange étant 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 fournies à l' adresse : https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04.

Pour résumer, vous pouvez créer un fichier d'échange 1G en collant ce qui suit 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 faisant:

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Gmatht
la source
Hmmm citations nécessaire ... vous n'êtes pas sûr de l'argument du système de fichiers buggy, jusqu'où allez-vous ...? Pour ce qui est de la capture 22, l’oomkiller aurait réglé le problème dans une certaine mesure - une petite allocation aurait dû causer une petite mise à mort, et je serais surpris que la permutation via fs n’ait pas de tampon très faible pour une telle éventualité ....
taifwa
5
Il y a plus de 10 ans, le conseil général était de placer swap, / usr / home et / var sur des partitions différentes, de sorte que si l'un d'entre eux se corrompait, vous puissiez récupérer des données des autres. C'était probablement avant que la journalisation soit courante. Les systèmes de fichiers ont encore des bogues, mais la paranoïa est probablement mieux dépensée pour effectuer des sauvegardes dans des endroits où les logiciels ransomware ne peuvent pas y accéder.
Dimanche
1
@taifwa J'ai ajouté un lien vers la FAQ de btrfs où ils ne prennent pas en charge l'accès rapide aux fichiers d'échange (car ils ne savent pas comment le mettre en œuvre sans corruption), et une note indiquant que la principale raison pour ne pas passer n'est pas de réparer pas cassé. est-ce que cela aide?
Dimanche
1
@ gmatht Eh bien, vous avez tout couvert d'une manière très agréable. Si vous trouvez une nouvelle information dans les mois / années à venir avec des fichiers d'échange, faites-le savoir en mettant à jour cette réponse. Bravo et excellent travail.
Luis Alvarado
3
@PabloBianchi Cela peut se faire, mais je préférerais échanger sur SSD ces jours-ci. Mettre un échange sur un disque en rotation peut aussi augmenter l'usure. Les SSD modernes ont tendance à ne pas s'user beaucoup plus rapidement que les disques en rotation.
Gmatht