Créer et gérer un fichier d'échange (Swap) sous Linux¶
Résumé
Lorsque la mémoire vive (RAM) d'un serveur vient à saturer, Linux utilise l'espace d'échange (Swap) pour stocker temporairement les données inactives. Ce tutoriel explique comment créer, activer et optimiser un fichier de Swap sur un serveur ne disposant pas de partition dédiée.
| Propriété | Valeur |
|---|---|
| Difficulté | Intermédiaire |
| OS / Environnement | Ubuntu 24.04 / Debian 12 |
| Dernière mise à jour | 2026-06-30 |
Contexte¶
Sur de nombreux serveurs Cloud (VPS), le système est livré sans partition de Swap pour économiser de l'espace disque. Cependant, si vos applications (bases de données, serveurs web) consomment toute la RAM disponible, le système invoquera le processus OOM Killer (Out Of Memory) pour tuer de manière brutale certains processus et libérer de la mémoire.
La création d'un fichier de Swap permet d'éviter ces arrêts inopinés en offrant un "filet de sécurité" de mémoire virtuelle sur le disque dur.
Prérequis¶
- Un accès
rootou viasudoà votre machine Linux. - Suffisamment d'espace disque disponible (vérifiable avec la commande
df -h).
Procédure¶
Étape 1 : Vérifier l'état actuel du Swap¶
Avant de commencer, vérifions si le système possède déjà un espace de Swap actif.
Si la commande ne retourne rien, cela signifie qu'aucun Swap n'est configuré. Vous pouvez également confirmer avecfree -h : Sortie attendue
La ligne Swap: devrait afficher 0B en total.
Étape 2 : Créer le fichier de Swap¶
Nous allons créer un fichier de 2 Go nommé /swapfile. Il est recommandé d'utiliser fallocate car cette commande alloue l'espace instantanément.
Alternative si fallocate échoue
Sur certains systèmes de fichiers (comme ZFS), fallocate peut ne pas fonctionner. Dans ce cas, utilisez la commande dd :
Étape 3 : Sécuriser et formater le fichier¶
Le fichier de Swap ne doit être lisible que par l'utilisateur root pour des raisons de sécurité, car il peut contenir des informations sensibles (mots de passe en clair, clés de session).
Ajustez les permissions :
Ensuite, indiquez au système d'initialiser ce fichier comme un espace d'échange :
Étape 4 : Activer le Swap¶
Maintenant que le fichier est prêt, activons-le :
Vérifiez que le Swap est bien actif :
Étape 5 : Rendre le Swap permanent¶
Par défaut, ce fichier de Swap sera désactivé au prochain redémarrage. Pour qu'il soit monté automatiquement, nous devons l'ajouter au fichier /etc/fstab.
Sauvegardez d'abord le fichier original :
Ajoutez l'entrée pour le Swap à la fin du fichier :
Étape 6 : Optimiser l'utilisation du Swap (Swappiness)¶
Le paramètre swappiness définit la propension du système à utiliser le Swap plutôt que la RAM. La valeur va de 0 à 100 : - 100 : le système utilisera le Swap de manière très agressive. - 0 ou 10 : le système privilégiera la RAM jusqu'au dernier moment.
Par défaut, la valeur est souvent à 60. Pour un serveur classique, une valeur de 10 est recommandée pour privilégier la réactivité (la RAM étant beaucoup plus rapide que le disque).
Vérifiez la valeur actuelle :
Pour la modifier temporairement à 10 :
Pour rendre ce changement permanent, éditez ou créez le fichier /etc/sysctl.conf :
Aide-mémoire¶
| Commande | Description |
|---|---|
swapon --show | Lister les espaces de Swap actifs. |
swapoff -a | Désactiver temporairement tous les espaces de Swap. |
free -m | Afficher la RAM et le Swap utilisés (en Mo). |
Ressources¶
- Documentation Ubuntu sur le Swap — Les meilleures pratiques pour la gestion de l'espace d'échange.
- Man page de mkswap — Référence technique de la commande
mkswap.