Skip to content
VDS · Sauvegardes et disque

Espace disque : où il passe

Comment trouver ce qui a rempli le disque, pourquoi un fichier supprimé mais ouvert est dangereux, ce que vous pouvez nettoyer sans risque, et pourquoi l'anneau d'utilisation dans le panneau peut afficher une valeur erronée.

Mis à jour le 23 août 2026

Le manque d'espace disque est une panne qui se manifeste de mille façons : la base de données n'écrit plus, le site renvoie une erreur, les conteneurs redémarrent. Le disque d'un VDS va de 40 Go sur l'offre d'entrée à 250 Go sur l'offre supérieure, et il se remplit presque toujours avec les mêmes éléments.

Premières commandes

df -h
df -i
sudo du -x -h -d1 / | sort -h | tail -15

Ne sautez pas df -i : vous pouvez avoir de l'espace mais manquer d'inodes — vous obtenez alors « disque plein » avec des gigaoctets libres. Le coupable est généralement constitué de millions de petits fichiers de cache.

Explorez ensuite le répertoire le plus volumineux :

sudo du -x -h -d1 /var | sort -h | tail
sudo du -x -h -d1 /var/lib | sort -h | tail

L'option -x limite le comptage à un seul système de fichiers et ne s'aventure pas dans les répertoires montés.

Coupables fréquents

QuoiComment vérifierQue faire
Journaux des conteneursdu -sh /var/lib/docker/containers/*/*-json.logLimiter la taille, voir journaux
Images et cache de builddocker system dfdocker image prune, docker builder prune
Journal systèmejournalctl --disk-usagejournalctl --vacuum-size=200M
Anciens noyaux dans /bootdf -h /bootapt autoremove --purge
Cache des paquetsdu -sh /var/cache/aptapt clean
Copies laissées sur placedu -sh /backupLes déplacer ailleurs, voir un autre emplacement
Fichiers envoyés par les utilisateursdu -sh /var/www/uploadsStockage externe ou disque plus grand

Un fichier supprimé qui occupe encore de l'espace

Un cas classique : du affiche 5 Go, df affiche 30 Go utilisés. Cela signifie que le fichier a été supprimé, mais qu'un processus le garde encore ouvert, et l'espace ne sera libéré qu'après un redémarrage.

sudo lsof +L1 | head -20

La sortie affichera les processus et les tailles. La solution consiste à redémarrer le coupable :

sudo systemctl restart <service>
docker compose restart <service>

Ne libérez jamais d'espace avec rm sur un fichier de journal en cours d'utilisation. La bonne méthode est de le tronquer : sudo truncate -s 0 /var/log/big.log. Le supprimer laissera l'espace occupé et vous fera perdre le journal.

L'anneau d'utilisation dans le panneau

Dans l'onglet « Vue d'ensemble » se trouve un anneau d'utilisation du disque. Il est calculé via l'agent invité qemu-guest-agent. Si l'agent est supprimé ou ne tourne pas, les données ne se mettront pas à jour — le panneau affichera la commande d'installation. Pour vérifier depuis la machine :

systemctl status qemu-guest-agent

Les relevés de l'agent et df -h doivent correspondre. Un écart signifie le plus souvent qu'une partie de l'espace est occupée dans une partition montée séparément — voir partitions et systèmes de fichiers.

Prévention

Mettez en place une tâche planifiée avec nettoyage et alerte :

#!/bin/bash
USED=$(df --output=pcent / | tail -1 | tr -dc '0-9')
if [ "$USED" -gt 85 ]; then
  journalctl --vacuum-size=200M
  apt clean
  docker image prune -f
  echo "Disk is ${USED}% full" | mail -s "VDS: low disk space" you@example.com
fi

Un seuil de 85 % vous laisse le temps de réagir. Vous ne pouvez pas attendre 100 % : lorsque le disque est plein, certains services ne peuvent même plus écrire un journal sur ce qui s'est passé.

S'il n'y a plus du tout d'espace

  1. Libérez quelques gigaoctets avec des mesures rapides : journalctl --vacuum-size=100M, apt clean, docker builder prune -f.
  2. Trouvez la cause réelle avec les commandes ci-dessus — sinon tout se reproduira dans une semaine.
  3. Si les données ont réellement augmenté, vous devez augmenter le disque en passant à une offre supérieure. La rétrogradation n'est pas disponible : le disque ne peut pas être réduit.