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
| Quoi | Comment vérifier | Que faire |
|---|---|---|
| Journaux des conteneurs | du -sh /var/lib/docker/containers/*/*-json.log | Limiter la taille, voir journaux |
| Images et cache de build | docker system df | docker image prune, docker builder prune |
| Journal système | journalctl --disk-usage | journalctl --vacuum-size=200M |
Anciens noyaux dans /boot | df -h /boot | apt autoremove --purge |
| Cache des paquets | du -sh /var/cache/apt | apt clean |
| Copies laissées sur place | du -sh /backup | Les déplacer ailleurs, voir un autre emplacement |
| Fichiers envoyés par les utilisateurs | du -sh /var/www/uploads | Stockage 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
rmsur 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
- Libérez quelques gigaoctets avec des mesures rapides :
journalctl --vacuum-size=100M,apt clean,docker builder prune -f. - Trouvez la cause réelle avec les commandes ci-dessus — sinon tout se reproduira dans une semaine.
- 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.