
Cloudflare a récemment détaillé la réduction de l'empreinte mémoire de son cache DNS. Sur un petit VPS, optimiser reste utile, mais une réserve swap peut aussi absorber certains pics : voici comment l'ajouter sans la confondre avec de la RAM supplémentaire.
1. Vérifier que le fichier convient
Ce parcours vise Ubuntu avec sudo et un système de fichiers ext4 local. Il suppose que votre virtualisation autorise le swap. Pour Btrfs, un disque réseau ou un conteneur restreint, utilisez la procédure adaptée à cette plateforme.
free -hswapon --showfindmnt -no FSTYPE /df -h /sysctl vm.swappinesssudo test -e /swap-vps && echo "STOP: file exists"Si le fichier existe, arrêtez cette création ; ne le reformatez pas. Notez la valeur initiale de swappiness. L'exemple ajoute 2 Gio, à adapter à votre espace libre : conservez aussi une marge pour les journaux, les mises à jour et les données.
Le swap déplace certaines pages mémoire vers le disque. Il peut retarder un manque de mémoire global, mais son accès est plus lent. Une fuite, un budget de conteneur trop bas ou une limite PHP peuvent continuer à provoquer des erreurs.
2. Créer puis rendre le swap persistant
Uniquement après avoir confirmé que /swap-vps n'existe pas :
sudo install -m 600 /dev/null /swap-vpssudo dd if=/dev/zero of=/swap-vps \ bs=1M count=2048 status=progresssudo mkswap /swap-vpssudo swapon /swap-vpsswapon --showArrêtez-vous au moindre échec, notamment « No space left ». N'exécutez pas les lignes suivantes sur un fichier partiellement créé. Les permissions 600 réservent son accès à root.
Sauvegardez fstab puis ouvrez-le :
sudo cp -a /etc/fstab /etc/fstab.before-swapsudoedit /etc/fstabAjoutez une seule fois :
/swap-vps none swap sw 0 0sudo systemctl daemon-reloadsudo findmnt --verifysudo swapon --allCorrigez toute erreur de validation avant un redémarrage. Ne modifiez pas les autres montages.
3. Tester swappiness avec votre charge
Swappiness exprime une préférence relative de récupération mémoire ; ce n'est pas un pourcentage de RAM à remplir. Essayez d'abord la valeur existante avec le swap actif. Si les échanges disque gênent les requêtes, vous pouvez comparer un réglage temporaire, par exemple :
sudo sysctl vm.swappiness=20vmstat 1 10free -hsudo journalctl -k --since "30 minutes ago" \ | grep -Ei 'out of memory|killed process'La valeur 20 est un essai, pas un optimum garanti. Comparez des charges similaires et les temps de réponse ; dans vmstat, observez si et so après la première ligne. Des échanges soutenus avec une application lente demandent de réduire la concurrence ou d'ajouter de la RAM.
Si l'essai est concluant :
echo 'vm.swappiness=20' | sudo tee \ /etc/sysctl.d/90-vps-swap.confsudo sysctl --systemsysctl vm.swappinessVérifiez la valeur finale : un autre fichier peut la remplacer. Après un redémarrage planifié, swapon --show doit toujours afficher le fichier.
Erreurs courantes : recopier une ligne fstab en double, forcer un swap refusé par la virtualisation ou baisser swappiness en pensant supprimer les OOM. Pour revenir sur le réglage, restaurez la valeur notée et retirez sa nouvelle configuration persistante ; ne désactivez pas un swap occupé sans vérifier la RAM disponible.
Sources : Cloudflare, Ubuntu.
Retrouvez-le dans nos publications
Les étapes clés de cet article, en carrousel. Suivez-nous pour découvrir les prochaines. Nos publications sont rédigées en anglais.




