3
février
2022
15:46

Création d'un fichier d'échange (SWAP) sous Linux en tant que fichier à la racine (/) du disque

3 février 2022 15:46

Sous Windows, vous pouvez modifier la taille du fichier d'échange. ce qui ne peut pas être dit à propos de Linux - lors du partitionnement initial du disque, une partition SWAP de taille fixe est créée. Ce n'est pas du tout pratique, car... Vous ne pouvez pas modifier la taille du fichier d'échange. La solution consiste à implémenter le fichier d'échange en tant que fichier « swapfile » à la racine du disque.

Le problème d'origine était indirectement lié au fichier d'échange - la commande fsck check renvoyait une erreur "fsck : /etc/fstab : erreur d'analyse à la ligne 11" et fini le travail.

J'ai dû supprimer la ligne 11, qui indiquait l'UUID du disque où se trouvait le fichier d'échange.
Mais vous ne pouvez pas travailler sans fichier d'échange.

Équipe

free -m

devrait montrer que le fichier d'échange est en cours d'utilisation (deuxième ligne) :

всего занято свободно общая буф./врем. доступно
Память: 2974 815 1039 54 1119 1943
Подкачка: 2047 0 2047

En résolvant ce problème, j'ai trouvé un moyen intéressant d'améliorer les performances de Linux : créer un fichier d'échange en tant que fichier dans "racine" disque. Les avantages de cette méthode : un fonctionnement plus fiable (lors de la connexion de la partition principale via fstab, le swap est automatiquement connecté) et la possibilité de modifier facilement la taille du fichier d'échange. Lors de l'utilisation de disques SSD, peu importe, en termes de vitesse, l'endroit où se trouve physiquement le fichier d'échange - au début ou à la fin du disque.

Les commandes sont les suivantes :

1)Reboot the computer. Dans le menu initial de GRUB2, sélectionnez "Paramètres système avancés"-"racine",
entrez le mot de passe et accédez à la ligne de commande superutilisateur (#).

2) Créez un fichier vide pour le fichier d'échange à la racine du disque (pour une taille de fichier SWAP de 2 Go, la commande est la suivante)
et l'attribution de droits, permettant à SWAP :

dd if=/dev/zero of=/swapfile bs=1M count=2048
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

3) Pour que ce fichier soit utilisé au démarrage du système, éditez le fichier /etc/fstab.

L'ancienne ligne relative à SWAP doit être supprimée (CTRL+K), et ce qui suit doit être ajouté à la place :

/swapfile none swap defaults 0 0

4) J'exécute la commande pour mettre à jour le noyau système :

sudo update-initramfs -u

5) Redémarrez.

shutdown -rF now

Désormais dans le programme système "gparted" vous pouvez supprimer la partition "swap" : elle n'est plus utilisée ! Nous développons la partition principale "/" ou la partition d'accueil "/home" (Bouton droit de la souris - Redimensionner | Déplacer) en utilisant l'espace libre de l'ancienne partition "swap".


Pour parcourir l'intégralité du disque de travail à partir duquel le système d'exploitation s'exécute :

sudo touch /forcefsck

Nous envoyons l'ordinateur redémarrer. S'il y a des problèmes dans le système de fichiers EXT4, ils seront vérifiés et corrigés au prochain démarrage :

shutdown -rF now

Pour modifier la taille du SWAP à l'avenir, démarrez simplement dans "Options de récupération avancées", accédez à nouveau à la racine, supprimez le fichier.

swapoff /swapfile
rm /swapfile

et répétez les commandes du point 2 ci-dessus, mais avec une taille de fichier d'échange différente, par exemple pour 4 Go :

dd if=/dev/zero of=swapfile bs=1M count=4096
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

Vérifiez :

free -m


Publications connexes