Premiers pas avec les fichiers d’échange sous Linux
Ce guide vous présentera les fichiers d'échange sous Linux en définissant ce qu'est un fichier d'échange et le rôle important qu'il joue dans la stabilité de votre système.
Qu'est-ce qu'un fichier d'échange ?
Un fichier d'échange sous Linux est un fichier sur votre disque dur que le noyau Linux utilise pour stocker les données variables des applications s'exécutant sur votre ordinateur. Un processus connu sous le nom d'échange est responsable du transfert des données vers un fichier d'échange lorsque la mémoire vive (RAM) ne suffit pas.
Imaginez que vous exécutez une application gourmande en mémoire et que le système commence à utiliser 100% de la RAM, le système d'exploitation Linux utilisera un fichier d'échange pour éviter que votre RAM ne se remplisse et rende votre système non réactif ou pire : plantage.
Remarque : la lecture de données à partir d'un fichier d'échange est un peu plus lente que la lecture directe à partir de la RAM, mais c'est une meilleure alternative que de faire planter votre système.
Afficher votre fichier d'échange à l'aide de swapon
Pour obtenir des informations sur le fichier d'échange sur votre système, exécutez la commande suivante :
swapon
La sortie de la commande ci-dessus serait similaire à celle illustrée ci-dessous.
![](https://static1.makeuseofimages.com/wordpress/wp-content/uploads/2021/06/linux_swapon_command-e1623041940388.png)
La sortie affiche que le dossier /root contient le fichier d'échange de votre système nommé swapfile . De plus, la taille du fichier d'échange est de 2 Go et actuellement, le système utilise environ 41 mégaoctets d'espace de fichier d'échange.
Comme la RAM et l'espace d'échange fonctionnent ensemble pour stocker des données temporaires, vous souhaiterez peut-être des informations détaillées sur les deux. Vous pouvez le faire en utilisant la commande free .
free -h
Comment créer un fichier d'échange sur Linux
Si vous rencontrez des problèmes de performances avec votre RAM, vous devriez envisager de créer ou d'augmenter la taille de votre fichier d'échange.
Si vous avez un système avec une faible RAM, par exemple 2 Go, vous devez créer un fichier d'échange qui fait environ deux fois la taille de votre RAM, c'est-à-dire 4 Go.
En revanche, si vous disposez de suffisamment d'espace RAM sur votre système, par exemple 8 Go alors votre fichier d'échange peut représenter 25% de votre RAM, soit 2 Go car votre RAM peut accueillir plus de données variables d'application.
Avant de pouvoir créer un nouveau fichier d'échange, assurez-vous de désactiver votre /swapfile actuel :
sudo swapoff /swapfile
Créez maintenant un fichier d'échange de la taille 2 Go à l'aide de la commande fallocate .
sudo fallocate -l 2G /swapfile
Si vous n'avez pas de fichier d'échange, la commande susmentionnée en créera un pour vous, mais si vous en avez déjà un, elle écrasera celui existant.
Ajuster Swappiness sur Linux
L'échange est une valeur que le noyau Linux utilise pour déterminer la fréquence à laquelle la RAM doit utiliser le fichier d'échange. Par défaut, la valeur est fixée à 60. Plus la valeur est élevée, plus votre RAM utilisera souvent le fichier d'échange, ce qui est idéal si vous avez peu de RAM. Les valeurs de fichier d'échange possibles vont de 0 à 100.
Pour afficher votre valeur de swappiness, exécutez la commande suivante :
cat /proc/sys/vm/swappiness
Pour modifier temporairement la valeur de swappiness sur votre système, par exemple 20, utilisez la commande suivante :
sudo sysctl vm.swappiness=20
Remarque : cette valeur sera réinitialisée à la valeur par défaut après le redémarrage de votre système.
Pour conserver votre swappiness, vous devez ajouter la ligne suivante vm.swappiness=20 au bas de votre fichier de configuration etc/sysctl.conf .
Assurez-vous de redémarrer votre système pour que les modifications prennent effet.
reboot
Comment supprimer un fichier d'échange
Pour supprimer un fichier d'échange dont vous n'avez plus besoin, désactivez-le d'abord à l'aide de swapoff , puis utilisez la commande rm pour supprimer votre fichier .
sudo swapoff /swapfile
sudo rm /swapfile
Utilisation de partitions dédiées pour l'échange
Avec un fichier d'échange en place, vous devriez vous attendre à de bien meilleures performances de votre système car un fichier d'échange empêchera votre système de planter lors de l'exécution d'applications gourmandes en mémoire.
Pour les systèmes critiques, vous pouvez envisager de créer une partition dédiée sur votre disque dur pour l'échange. Une partition d'échange et un fichier d'échange ont leurs propres avantages et inconvénients.