SWAP sous Linux
Guide de création et de configuration de l'espace swap sous Linux.
SWAP (espace d'échange) est un mécanisme de mémoire virtuelle sous Linux qui déplace les données inactives de la RAM vers le disque (HDD ou SSD) afin de libérer de la mémoire physique pour les tâches actives. Il joue le rôle de tampon d'urgence en cas de manque de mémoire, mais l'accès au disque est des dizaines de milliers de fois plus lent que la RAM — une utilisation intensive du swap ralentit donc sensiblement le système.
Sous Linux, la RAM est divisée en pages. Le swapping est le processus qui consiste à copier les pages les moins utilisées vers une zone disque dédiée appelée espace d'échange (fichier ou partition dédiée). La RAM et le swap forment ensemble la mémoire virtuelle totale disponible pour le système.
À quoi sert le swap
Le swap remplit deux fonctions principales :
- Lorsque le système a besoin de plus de mémoire que ce qui est disponible, le noyau déplace les pages les moins utilisées vers le swap, libérant ainsi de la RAM pour les processus actifs.
- De nombreuses pages chargées par les applications au démarrage sont rarement utilisées ensuite. Le système peut les déplacer vers le swap afin de garder la RAM disponible pour des tâches plus importantes.
Inconvénients du swap
Le principal inconvénient est la vitesse. Les opérations en RAM s'effectuent en nanosecondes, tandis que les opérations sur disque prennent des millisecondes — soit des dizaines de milliers de fois plus lent. Une utilisation intensive du swap entraîne des ralentissements perceptibles.
Remarque
Lorsque les applications font massivement appel au swap, les performances chutent de manière significative. Dans ce cas, envisagez d'augmenter la RAM. Une option consiste à migrer votre projet vers un VPS ou un serveur dédié plus puissant, avec une mise à l'échelle des ressources flexible.
Signes courants de manque de mémoire (notamment pour les bases de données) :
- Des erreurs fréquentes du type « échec de connexion à la base de données » (par exemple, crash de MySQL)
- Des entrées de log indiquant InnoDB: Fatal error: cannot allocate memory for the buffer pool
- Des réponses lentes du serveur malgré une faible utilisation du CPU
Même sur SSD, les opérations de swap passent par le sous-système disque, ce qui augmente la latence.
Si votre système dépend fortement du swap, c'est le signe qu'il faut soit augmenter la RAM, soit optimiser l'application. Envisagez de passer à un VPS plus puissant ou de migrer vers un serveur dédié.
Vérifier le swap
Exécutez :
swapon -s
Exemple de sortie :
Filename Type Size Used Priority
/swapfile file 40956 40956 -1
Ou pour un aperçu rapide :
free -m
Exemple de sortie :
total used free shared buff/cache available
Mem: 488 160 7 40 320 259
Swap: 39 39 0
Si Swap affiche 0 ou est absent — vous devez le créer.
Nos produits et services
Créer un fichier swap (méthode recommandée)
- Créer un fichier swap (exemple : 2 Go) :
sudo fallocate -l 2G /swapfile
ou
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
- Définir des permissions sécurisées (seul root peut lire/écrire) :
sudo chmod 600 /swapfile
- Le formater en swap :
sudo mkswap /swapfile
- Activer le fichier swap :
sudo swapon /swapfile
- Le rendre permanent — ajouter à
/etc/fstab:
sudo nano /etc/fstab
Ajoutez cette ligne à la fin :
/swapfile none swap sw 0 0
Enregistrez (Ctrl+O → Entrée → Ctrl+X).
- Vérifier :
free -h
Facultatif : régler la swappiness
swappiness contrôle l'intensité avec laquelle le système utilise le swap (0–100, valeur par défaut 60).
Vérifier la valeur actuelle :
cat /proc/sys/vm/swappiness
Définir une valeur plus basse (recommandé pour les serveurs : 10–20) :
sudo sysctl vm.swappiness=10
Pour la rendre permanente, ajoutez à /etc/sysctl.conf :
vm.swappiness=10
Appliquer :
sudo sysctl -p
Aide
Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !