Chargement de Smiley Hoster
Aller au contenu

Ajouter un fichier swap à un VPS Ubuntu et régler swappiness

Équipe Smiley Hoster · · 2 min de lecture
Une réserve swap sur disque complète la RAM, avec un curseur de réglage swappiness.

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.

Exemple
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 :

Exemple
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 --show

Arrê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 :

Exemple
sudo cp -a /etc/fstab /etc/fstab.before-swapsudoedit /etc/fstab

Ajoutez une seule fois :

Exemple
/swap-vps none swap sw 0 0
Exemple
sudo systemctl daemon-reloadsudo findmnt --verifysudo swapon --all

Corrigez 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 :

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 :

Exemple
echo 'vm.swappiness=20' | sudo tee \ /etc/sysctl.d/90-vps-swap.confsudo sysctl --systemsysctl vm.swappiness

Vé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.

Slide 1 of 5: Ubuntu VPS guide. Add swap and tune swappiness safely. Build a disk-backed reserve, then test its effect under load.
Slide 2 of 5: Step 1 of 3. Run the pre-checks. Confirm sudo, local ext4 storage, free space and swap support. Stop if /swap-vps exists. Record the current swappiness value.
Slide 3 of 5: Step 2 of 3. Create persistent swap. Allocate the file, restrict it to root, enable it and add one fstab entry. Verify the configuration and resolve every error before rebooting.
Slide 4 of 5: Step 3 of 3. Tune from evidence. Trial a temporary value under a similar load. Keep it only when paging, latency and kernel logs support the change.
Slide 5 of 5: Full command guide. Make short memory peaks more manageable. Follow the commands, validation checks and rollback notes in the complete guide.
Sur les réseaux sociaux

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.

Cet article a-t-il répondu à votre question ?
Vos retours orientent ce qu'on écrit ensuite.

Votre site en ligne aujourd'hui

Migration gratuite* · remboursé 30 jours

Commencer* Un site de moins de 30 Go, offres cPanel, WordPress et VPS.