Un fichier swap peut absorber certains pics de mémoire sur un VPS Linux, mais il ne garantit pas l’absence d’erreurs OOM. Il utilise du stockage, plus lent que la RAM, et ne remplace pas le diagnostic d’un service trop gourmand.
Vérifier le système avant de créer le fichier
swapon --show
free -h
df -h /
findmnt -no FSTYPE /
Vérifiez aussi les limites de votre hébergement : un conteneur peut ne pas autoriser l’activation du swap. Le type de système de fichiers compte. Btrfs et les mécanismes de copie sur écriture exigent une procédure adaptée.
Choisir la taille selon la charge
Il n’existe pas de plafond général de 4 Go au-delà duquel le swap serait inutile. Dimensionnez-le selon la RAM, les pointes observées, le stockage disponible et les exigences du système. Les 4 Gio de l’exemple constituent un choix de démonstration, pas une règle universelle.
Avant d’occuper le disque, identifiez les répertoires volumineux avec le guide du diagnostic d’espace disque. Conservez assez de marge pour les bases, journaux et mises à jour.
Créer un fichier sur un système compatible
L’exemple suivant convient à un système de fichiers classique compatible, comme ext4. Vérifiez d’abord que /swapfile n’existe pas. S’il existe, arrêtez cette procédure et examinez sa configuration : ne l’écrasez pas.
sudo ls -l /swapfile
Uniquement si ce chemin est absent et si vous avez choisi la taille de 4 Gio, créez un fichier non clairsemé dans un shell root avec des permissions restrictives dès sa création :
sudo sh -c 'umask 077; dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress'
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfileLangage du code : JavaScript (javascript)
Arrêtez-vous dès qu’une commande échoue. Le manuel de swapon recommande dd comme méthode portable ; les fichiers créés par fallocate ne conviennent pas à toutes les combinaisons de noyau et de système de fichiers. Pour Btrfs, consultez sa procédure spécifique plutôt que de reprendre cet exemple.
Contrôler l’activation et la persistance
swapon --show
free -h
Après activation réussie, sauvegardez /etc/fstab, puis éditez-le avec soin. Ajoutez une seule fois l’entrée correspondant au fichier :
sudo cp -a /etc/fstab /etc/fstab.avant-swap
sudoedit /etc/fstab
/swapfile none swap sw 0 0
Vérifiez qu’il n’existe pas déjà une entrée pour ce chemin. Contrôlez ensuite la configuration, puis prévoyez un redémarrage de test avec un accès de secours disponible.
Swappiness : mesurer avant d’ajuster
Le noyau peut utiliser le swap avant que toute la RAM soit épuisée. Le paramètre vm.swappiness exprime un coût relatif entre accès au swap et pagination des fichiers ; ce n’est pas un pourcentage de RAM à atteindre.
Sur les noyaux actuels, sa plage est de 0 à 200. Une valeur basse n’est pas automatiquement meilleure, notamment avec zram ou un stockage rapide. Mesurez la charge avant de modifier les valeurs de la distribution. Il n’est pas nécessaire de changer systématiquement vfs_cache_pressure.
Si les erreurs mémoire persistent
Consultez les logs du noyau, les limites des services ou conteneurs et la consommation des applications. Un swap continuellement sollicité peut annoncer un manque de RAM ou une fuite mémoire. Sur WordPress, un audit des performances et de l’hébergement aide à identifier la cause.