J'ai lu que vous devez mettre la partition d'échange sur le disque dur plutôt que sur le SSD.
Mes questions sont les suivantes:
- Quand et comment la "vérification" est-elle effectuée par la distribution (ou autre chose) pour trouver sa partition Swap?
- Cela se produit-il au démarrage?
- Il vérifie simplement tous les disques disponibles et recherche une partition avec l'indicateur «swap»?
- Que se passe-t-il s'il y a plusieurs partitions comme ça?
- De plus, combien de partitions de swap dois-je avoir si j'exécute, par exemple, deux distributions différentes sur le même disque, disons Fedora et Ubuntu?
Réponses:
L'espace de swap configuré de manière statique (le type que presque toutes les distributions utilisent) est configuré
/etc/fstab
comme les systèmes de fichiers.Une entrée typique ressemble à quelque chose comme:
Vous pouvez également voir soit
discard
ounofail
spécifié dans le champ drapeaux (le quatrième champ). Chaque ligne correspond à une zone de swap (il ne doit pas nécessairement s'agir d'une partition, vous pouvez avoir des fichiers de swap, ou même des disques de swap entiers).Dans certains cas vraiment spécifiques, il se peut que vous ayez à la place un espace d'échange configuré dynamiquement, bien que cela soit plutôt rare car cela peut entraîner un comportement problématique lié à la gestion de la mémoire. Dans ce cas, la configuration est entièrement gérée par un composant de l'espace utilisateur qui crée et active les fichiers d'échange au besoin au moment de l'exécution.
En ce qui concerne le nombre dont vous avez besoin, c'est une question compliquée à répondre, mais le nombre de distributions Linux différentes que vous prévoyez d'exécuter n'a aucun impact sur cela, sauf si vous voulez pouvoir exécuter une distribution pendant que vous en avez une autre en hibernation (et vous vous ne voulez probablement pas faire cela, car c'est un moyen très simple de visser votre système).
Lorsque vous exécutez le programme d'installation pour presque toutes les distributions majeures (y compris Fedora, OpenSUSE, Linux Mint, Debian et Ubuntu), il détecte toutes les partitions d'échange existantes sur le système et les ajoute à la configuration de la distribution que vous utilisez. l'installation (sauf éventuellement si vous sélectionnez le partitionnement manuel), et dans la plupart des cas, le système sera configuré de manière sensée.
Même en dehors de cela, je suggérerais personnellement d'éviter d'avoir plusieurs partitions de swap à moins que vous ne parliez d'un système serveur avec beaucoup de disques, et même alors, vous devez vraiment savoir ce que vous faites pour vous installer afin qu'il fonctionne bien .
la source
/tmp
partitions / répertoires). Probablement dans ce cas, il vaut mieux avoir des machines virtuelles ...systemctl --all | grep swap
je récupère deux résultats.dev-disk-by\x2duuid-1c692cc4\x2df942\x2d4478\x2dad0f\x2d266b7484273a.swap
etswap.target
qui sont tous les deux ACTIF = inactif et SUB = mort . Comment puis-je faire en sorte que mon système utilise la zone d'échange?… Qui sont tous deux aujourd'hui des systèmes d'exploitation systemd.
Que se passe-t-il dans les systèmes d'exploitation systemd
le mécanisme natif
Systemd utilise différents types d'unités.
.mount
les fichiers d'unité lui demandent de monter des volumes..swap
les fichiers d'unité lui demandent d'indiquer au noyau les partitions de swap. (Les.service
fichiers unitaires lui expliquent comment exécuter les services. Et ainsi de suite.) Ce sont les mécanismes natifs de systemd. Pour les appliquer, systemd lui-même supprime les processus enfants qui effectuent les appels système appropriés.Si vous utilisez la
systemctl
commande (avec--all
) sur un tel système d'exploitation systemd, elle vous indiquera les.swap
unités chargées . Par exemple:Il vous indiquera également les
.mount
unités.Un administrateur système peut effectivement écrire des
.swap
fichiers unitaires à la main, tout comme peut écrire xe.service
,.socket
et d' autres fichiers de l' unité à la main. systemd lui-même recherche simplement les fichiers d'unité dans le système de fichiers. Ils sont son mécanisme natif.On peut même demander à systemd de vous montrer ce qu'il y a dans ces fichiers unitaires et où dans le système de fichiers ils peuvent être trouvés:
fichiers d'unité générés automatiquement
On peut les écrire à la main. En général , cependant ces
.mount
et les.swap
fichiers unitaires sont générés automatiquement par des programmes appelés générateurs . Deux de ces générateurs sontsystemd-fstab-generator
etsystemd-gpt-auto-generator
. Ils s'exécutent tous les deux au début du processus d'amorçage et en réponse à unesystemctl daemon-reload
commande, et (comme vous pouvez le voir ci-dessus), ils génèrent une charge entière de fichiers d'unité dans un sous-répertoire non documenté dans/run/systemd/
. systemd lui- même utilise simplement ces fichiers d'unité générés .L'ancien générateur lit
/etc/fstab
, reconnaissant plusieurs extensions systemd à ce format de fichier. Comme je l'ai souligné dans un commentaire de réponse, les partitions de swap ont traditionnellement le type de montage desw
et c'est ainsi que l'on trouvera que d'autres systèmes d'exploitation reconnaissent les enregistrements de swap dans ce tableau. Mais les logiciels Linux ont pris la voie alternative de reconnaître le type VFS à la place, en le recherchantswap
comme type VFS.systemd-fstab-generator
ne fait pas exception ici, et c'est ainsi qu'il interprète/etc/fstab
lors de sa conversion en mécanismes natifs.Ce dernier générateur traite la table de partition EFI qui se trouve sur le même disque que celui contenant la partition système EFI, à la recherche des entrées de table de partition EFI qui ont divers GUID de type de partition bien connus . L'un de ces GUID est le GUID conventionnel attribué aux partitions d'échange Linux; et si
systemd-gpt-auto-generator
trouve une partition avec ce GUID (qui satisfait les critères donnés dans le docu systemd) il en fera une.swap
unité; pas du tout/etc/fstab
impliqué .Bien sûr, ce processus a beaucoup d'effets secondaires. Par exemple, comme
/etc/fstab
il n'y a pas de clé primaire dans la table, les enregistrements peuvent avoir des champs "spéc" et "fichier" (c'est-à-dire "quoi" et "où") en double. Dans le mécanisme natif de systemd, cependant, le champ "fichier" (c'est-à-dire "où") est une clé unique pour les.mount
unités, incorporée dans les noms des unités. Deux.mount
unités ne peuvent pas le partager. Pour les.swap
unités, le champ "spec" (c'est-à-dire "quoi") est la clé unique pour les unités. Deux.swap
unités ne peuvent pas partager cela. Donc, tous les enregistrements ne/etc/fstab
sont pas nécessairement convertibles en mécanismes natifs et fonctionneront, surtout si les gens font des choses comme lister le même point de montage à deux fins différentes ou lister la même partition de swap de deux manières différentes.De même, parce qu'il s'est traduit
/etc/fstab
par le mécanisme natif et que le mécanisme natif de systemd a d'autres moyens d'activer les unités , le comportement est subtilement différent de celui des systèmes d'exploitation non-systemd. Une.mount
unité sera, par défaut, automatiquement activée parsystemd-udevd
, même après l'amorçage, en réponse à l'apparition du périphérique de stockage monté. Ou il peut être répertorié comme unWants=
ouRequires=
d'une partie.service
ou d'une.socket
unité, ce qui signifie qu'il sera (réactivé) lorsqu'ils le seront. Il y en a mêmeRequiresMountsFor=
.programmes d'installation et la manière systemd
Traditionnellement, les programmes d'installation du système d'exploitation et l'administrateur systemd reconfigurant ensuite le système ont des
sw
entrées écrites dans/etc/fstab
. Et c'est ainsi que le natif.mount
et les.swap
unités finissent par être générés automatiquement. L'utilitaire d'installation / configuration "sait" où le fichier d'échange a été placé, car dans son interface utilisateur, l'administrateur système a fait une sorte de choix et écrit un/etc/fstab
pour correspondre. Parfois, ce choix est que j'ai besoin de vous pour me faire une partition d'échange dans le cadre de l'installation. ; Parfois, il suffit d'utiliser la partition de swap que vous avez déjà trouvée sur le disque. (les installateurs examinent également les types de partitions).Mais les gens de systemd ont cette idée de systèmes d'exploitation qui se configurent automatiquement à partir d'une
/etc
arborescence largement vide , les systèmes dits sans état , et c'est à cela que servent des mécanismes comme le générateur qui lit la table de partition EFI. Dans le plan des gens de systemd, il n'y a pas/etc/fstab
, et en fait aucune donnée de configuration persistante sous/etc
, et tout cela est déduit du contenu de la table de partition sur le disque , à chaque démarrage et à chaquesystemctl daemon-reload
. De nos jours, ils font la promotion de programmes d'installation de système d'exploitation que n'en écrivent pas/etc/fstab
.Dans le schéma traditionnel, bien sûr, vous pouvez en effet avoir chaque système d'exploitation a sa propre partition de swap privée, et ne pas les faire toucher les partitions de swap les uns des autres. Et en effet, si vous utilisez la mise en veille prolongée sur un disque via une partition de swap et que vous vous attendez à pouvoir démarrer plusieurs fois sur un autre système d'exploitation en veille prolongée ( ce qui est une très mauvaise idée car il est très facile de provoquer une corruption du système de fichiers de cette façon ), ce sera nécessaire.
Dans le schéma systemd, même si le système d'exploitation n'est pas encore comme les gens systemd l'envisagent et "sans état", les générateurs susmentionnés fonctionnent; et ainsi toutes les partitions de swap (sur le disque ESP / root) avec le type de partition requis sont automatiquement utilisées par tous les systèmes d'exploitation systemd. Puisqu'ils partageront toutes les partitions d'échange découvertes automatiquement, il n'est vraiment pas nécessaire de créer une partition d'échange par système d'exploitation installé.
Lectures complémentaires
systemd.swap
. pages de manuel de systemd . freedesktop.org.systemd-fstab-generator
. pages de manuel de systemd . freedesktop.org.systemd-gpt-auto-generator
. pages de manuel de systemd . freedesktop.org.la source
Historiquement, la partition de swap est spécifiée dans
/etc/fstab
avec une entrée de typeswap
. Au démarrage, les processus de démarrage liront ce fichier et pousseront cette configuration dans le noyau.Un exemple de l'entrée dans
/etc/fstab
est:Je ne sais pas comment
systemd
gère le swap, mais je pense que le résultat final est le même: un processus de l'espace utilisateur est conscient de l'espace alloué pour le swap et le processus de l'espace utilisateur informe le noyau.la source
/etc/fstab
partir de leursw
type de montage plutôt que de leurswap
type VFS.systemd-gpt-auto-generator
.Toutes les autres réponses mentionnent comment pointer vers un système de fichiers d'échange au démarrage.
Cependant, plusieurs points à ajouter aux autres réponses:
mkswap
;swapon
;swapoff
.la source