Le Fichier d’Échange (Swap) sous Linux : Configuration et Gestion
Le swap, ou espace d’échange, joue un rôle fondamental dans la gestion des programmes sous Linux. Il permet, entre autres, de mettre en pause la RAM et d’allouer de la mémoire supplémentaire lorsque la mémoire vive physique est saturée. Il est donc vivement recommandé de l’utiliser. Traditionnellement, les distributions Linux réservaient une partition spécifique pour le swap. Cependant, depuis 2017, l’utilisation de fichiers d’échange est devenue plus courante. Ubuntu, par exemple, a récemment opté pour un fichier d’échange plutôt qu’une partition, et d’autres distributions sont susceptibles de suivre cette tendance. La raison principale ? La simplicité. Cela évite de configurer une partition supplémentaire lors de l’installation, ce qui accélère le processus. De plus, la taille d’un fichier d’échange peut être ajustée sans avoir à redimensionner une partition entière, et il peut être désactivé rapidement et facilement. Voici comment configurer un fichier d’échange sous Linux.
Note importante: Le fichier d’échange peut être mis en place sur n’importe quelle distribution Linux. Assurez-vous de procéder à une installation sans partition de swap au préalable. Cela implique de ne pas utiliser un installateur standard et simplifié.
Souvent, pour obtenir une installation « sans swap », une « installation personnalisée » est nécessaire. Cela implique un partitionnement manuel avec la configuration des partitions, des points de montage et, si votre système utilise l’UEFI, la partition de démarrage.
Par exemple, dans l’installateur d’Ubuntu, vous devez sélectionner « Autre chose » pour une installation personnalisée. Sur d’autres distributions, cela peut s’appeler « Agencement personnalisé » ou une option similaire.
Si vous utilisez le système de fichiers BtrFS, ce guide n’est pas applicable, car il ne supporte pas les fichiers d’échange.
Configurer le Swap
La création d’un fichier d’échange se fait à l’aide de l’utilitaire dd
. La taille du fichier d’échange devrait idéalement correspondre à celle de votre RAM physique. Vous devrez entrer la commande suivante exactement comme elle apparaît. L’utilisateur doit entrer toute la ligne de commande d’un seul coup et l’exécuter comme une seule instruction.
Si la commande réussit, il vous sera demandé de saisir une valeur en gigaoctets qui sera ensuite convertie en mégaoctets. Le calcul est fait automatiquement.
Note: Si vous avez plus de 4 Go de RAM, créez un fichier d’échange dont la taille est égale à la moitié de votre RAM.
echo 'enter gigabytes:';read gigabytes;calculated=$((1024 * $gigabytes))
Le calcul est terminé, et le résultat est stocké dans la variable $calculated
. Nous allons maintenant utiliser cette valeur avec la commande dd
. La création du fichier peut prendre un certain temps, et aucun écran de chargement ne sera affiché. Une fois que le terminal est de nouveau disponible, saisissez la commande ci-dessous.
sudo dd if=/dev/zero of=/swapfile bs=1M count=$calculated
Ensuite, ajustez les permissions du fichier d’échange. Le système doit avoir un accès total au fichier pour que le swap fonctionne correctement.
Obtenez les droits root avec : sudo -s
chmod 600 /swapfile
Une fois les permissions corrigées, utilisez mkswap
, un outil qui permet de transformer une partition ou un fichier en espace d’échange.
mkswap /swapfile
Les permissions sont maintenant configurées, et le fichier est prêt à être utilisé. L’étape suivante consiste à activer le swap avec la commande swapon
.
swapon /swapfile
Si vous avez exécuté correctement les quatre commandes précédentes, le fichier d’échange est actif. Cependant, il est nécessaire que le système sache, au démarrage, où se trouve ce fichier. Pour ce faire, il faut modifier le fichier /etc/fstab
.
Ajoutez d’abord un commentaire à la fin du fichier afin d’identifier facilement les lignes concernant le swap.
echo "# Swap file" >> /etc/fstab
Ajoutez ensuite une ligne qui spécifie l’emplacement du fichier d’échange et comment le système doit le gérer.
echo "/swapfile none swap defaults 0 0" >> /etc/fstab
Après ces modifications, redémarrez votre système. Désormais, votre machine Linux utilisera ce fichier d’échange au démarrage.
Désactiver le Fichier d’Échange
Contrairement à une partition de swap, un fichier d’échange peut être désactivé très facilement, ce qui libère l’espace disque. Il n’est pas nécessaire de redimensionner des partitions. Pour désactiver définitivement le swap, suivez ces trois étapes simples.
Ouvrez un terminal et entrez la commande suivante :
sudo nano /etc/fstab
Recherchez les lignes concernant le swap (celles que vous avez ajouté avec le commentaire) et supprimez-les. Enregistrez les modifications avec Ctrl + O
.
Une fois les modifications enregistrées, désactivez l’échange :
sudo swapoff -a
Rendez-vous dans le répertoire racine du système de fichiers.
cd /
Supprimez le fichier d’échange lui-même.
sudo rm swapfile
Redémarrez votre ordinateur. Au redémarrage, le fichier d’échange aura totalement disparu.
Conclusion
Le swap est utile car il fournit de la mémoire supplémentaire lorsque les programmes en manquent. Les fichiers d’échange présentent de réels avantages. Ils permettent d’activer et désactiver facilement le swap sans repartitionnement, et leur taille peut être modifiée à la volée. Avec ce tutoriel, vous comprenez les bénéfices d’utiliser un fichier d’échange plutôt qu’une partition dédiée.