Ce guide s'appuie sur les pages de manuel de free et de swapon, et sur la documentation du noyau sur vm.swappiness, relues le 15 octobre 2026. Les commandes valent pour Ubuntu 26.04 et Debian 13.
Lire la mémoire avec free
La commande free -h affiche la mémoire en unités lisibles :
free -h
Trois colonnes comptent :
| Colonne | Ce qu'elle mesure |
|---|---|
free | la mémoire que rien n'utilise |
buff/cache | les tampons et le cache des fichiers, que le noyau rend dès qu'une application en a besoin |
available | l'estimation de la mémoire disponible pour lancer de nouvelles applications sans recourir au swap |
C'est available qu'il faut lire. Une colonne free presque vide n'est pas un signe de manque : Linux remplit la mémoire inutilisée avec le cache des fichiers, ce qui accélère les lectures, et il la libère à la demande. La ligne Swap indique la taille du swap et la part occupée.
Vérifier le swap en place
swapon --show
La commande liste les espaces d'échange actifs, fichier ou partition, avec leur taille et leur occupation. Si elle ne renvoie rien, le serveur n'a pas de swap.
Un swap un peu occupé n'est pas un problème en soi : le noyau y range des pages qui ne servent presque jamais. Ce qui doit alerter, c'est un swap qui se remplit et se vide en permanence pendant que le serveur ralentit. La mémoire manque alors vraiment, et le remède est de réduire ce qui tourne ou d'ajouter de la mémoire.
Créer un fichier d'échange
Faites ces étapes sur un serveur qui n'a pas encore de swap, avec un compte qui a sudo. L'exemple crée un fichier de 2 Go.
- Créez le fichier. La page de manuel de swapon donne
ddcomme méthode la plus portable :sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress - Réservez-le à root :
sudo chmod 600 /swapfile - Formatez-le en espace d'échange :
sudo mkswap /swapfile - Activez-le :
sudo swapon /swapfile - Rendez-le permanent en ajoutant cette ligne à
/etc/fstab:/swapfile none swap sw 0 0 - Vérifiez avec
swapon --showetfree -h.
fallocate va plus vite que dd, mais la page de manuel prévient qu'un fichier préalloué peut être pris pour un fichier à trous selon le système de fichiers, et refusé. Sur Btrfs, un fichier d'échange demande un réglage particulier : suivez dans ce cas la page de manuel.
Avant de modifier /etc/fstab, gardez une copie du fichier : une ligne mal écrite peut empêcher le serveur de démarrer normalement.
Régler vm.swappiness
vm.swappiness règle la tendance du noyau à utiliser le swap plutôt qu'à vider le cache des fichiers. D'après la documentation du noyau, la valeur va de 0 à 200 et vaut 60 par défaut. Plus elle est basse, plus le noyau considère le swap comme coûteux et le réserve aux cas où la mémoire manque vraiment.
- Lisez la valeur en cours :
cat /proc/sys/vm/swappiness - Changez-la jusqu'au prochain démarrage :
sudo sysctl vm.swappiness=10 - Rendez-la permanente dans un fichier de
/etc/sysctl.d/, par exemple/etc/sysctl.d/90-swap.conf, qui contientvm.swappiness=10, puis appliquez-le :sudo sysctl -p /etc/sysctl.d/90-swap.conf
La documentation du noyau précise que la bonne valeur dépend de la charge et s'éprouve. Sur un serveur dont le disque est bien plus lent que la mémoire, une valeur basse est le réglage courant.
Quand le swap ne suffit plus
Le swap absorbe des pointes, il ne remplace pas de la mémoire. Si available reste bas en permanence, cherchez ce qui consomme :
top, puis la toucheMpour trier les processus par mémoire ;docker statspour voir la mémoire de chaque conteneur, si vos applications tournent dans Docker.
Une application peut se voir fixer une limite de mémoire dans son fichier Compose, pour qu'une fuite ne fasse pas tomber les autres. Si toutes les applications sont nécessaires, il faut une taille de serveur au-dessus, voir Choisir la taille de son VPS, ou déplacer une application sur un second serveur, comme dans Migrer n8n d'un serveur à l'autre.
Sur un VPS Hubspace
Le socle posé à la livraison crée un fichier /swapfile de 2 Go, inscrit dans /etc/fstab, quand le serveur n'a pas de swap et que la mémoire vue par le système (MemTotal) est inférieure à 8 000 000 kio : les tailles à 4 Go le reçoivent, et une taille vendue 8 Go peut le recevoir aussi, puisque le système voit un peu moins que la mémoire annoncée. Il règle aussi vm.swappiness à 10, dans /etc/sysctl.d/90-hubspace-swap.conf. Vérifiez ce qu'a reçu votre serveur avec swapon --show : s'il n'y a pas de swap et que vos applications en ont besoin, créez-en un avec la procédure ci-dessus. Pour libérer de la place sur le disque, voir Espace disque Linux. Les serveurs VPS détaillent la mémoire de chaque taille.
Questions fréquentes
Quelle taille de swap prévoir ?
Il n'y a pas de règle unique. Un swap de 1 à 2 Go suffit le plus souvent à absorber les pointes d'un petit serveur. Au-delà, un serveur qui s'appuie durablement sur un grand swap devient lent : mieux vaut plus de mémoire.
Peut-on se passer de swap ?
Oui, si la mémoire suffit largement. Sans swap, un manque de mémoire fait arrêter un processus par le noyau, sans période de ralentissement. Avec un petit swap, le serveur a un peu de marge pour encaisser une pointe.
Comment retirer un fichier d'échange ?
Désactivez-le avec sudo swapoff /swapfile, retirez sa ligne de /etc/fstab, puis supprimez le fichier avec sudo rm /swapfile. Vérifiez avant que la mémoire disponible suffit sans lui.
Articles liés
- Commandes Linux : les essentielles à connaîtreLes commandes Linux à connaître pour gérer un serveur : fichiers et dossiers, recherche, espace disque, services, journaux et droits, avec leurs options utiles.
- Mettre à jour Ubuntu ou Debian sur un serveurMettre à jour Ubuntu ou Debian : apt update et apt upgrade, mises à jour automatiques de sécurité, redémarrage nécessaire et passage à une nouvelle version.
- Crontab : planifier une tâche avec cronCrontab sous Linux : écrire une ligne cron, comprendre ses cinq champs, planifier un script, garder une trace de son exécution et éviter les pièges.