Aller au contenu principal

Vérifier l'espace disque et l'utilisation sous Linux

Ce guide vous explique comment vérifier l’espace disque et l’utilisation du stockage sur un système Linux (VPS, serveur dédié, instance cloud). Un disque saturé peut dégrader les performances, faire échouer des services ou empêcher les connexions. Savoir utiliser df, du et find permet de surveiller les partitions, identifier les répertoires et fichiers les plus gourmands, et anticiper les problèmes avant une panne.

Prérequis

  • Accès SSH à votre serveur Linux (Debian, Ubuntu, ou autre distribution)
  • Droits d’administration (sudo) pour consulter tous les répertoires (certains sont protégés)

Connexion au serveur

Connectez-vous en SSH à votre serveur :

ssh utilisateur@adresse_ip_serveur

Commandes utiles pour l’espace disque

Linux fournit des outils en ligne de commande pour suivre le stockage utilisé, l’espace disponible et quels fichiers ou répertoires consomment le plus d’espace.

Vue d’ensemble des commandes

CommandeDescriptionUsage typique
dfAffiche l’espace utilisé et disponible sur les systèmes de fichiers montésVue d’ensemble des partitions
duEstime l’espace utilisé par les répertoires et fichiersIdentifier les répertoires les plus lourds
findRecherche des fichiers selon des critères (taille, nom, type, date)Trouver les gros ou vieux fichiers

Vérifier l’espace disque avec df

La commande df (disk free) donne une vue rapide de l’espace disque sur tous les systèmes de fichiers montés. Utilisez-la pour repérer les partitions qui se remplissent.

Syntaxe de df

df [OPTION]... [FICHIER]...
  • OPTION : options de la commande (format lisible, type de FS, inodes, etc.)
  • FICHIER : fichier ou répertoire optionnel. Si absent, df affiche tous les systèmes de fichiers montés.

Options courantes de df

OptionDescription
-h, --human-readableAffiche les tailles en unités lisibles (K, M, G)
-B, --block-size=SIZEUtilise une taille de bloc donnée (ex. -BM pour mégaoctets)
-i, --inodesAffiche l’utilisation des inodes au lieu des blocs
-l, --localLimite l’affichage aux systèmes de fichiers locaux
--totalAffiche une ligne de total
-t, --type=TYPELimite aux systèmes de fichiers d’un type (ex. ext4, xfs)
-x, --exclude-type=TYPEExclut un type de système de fichiers (ex. tmpfs)
-TAffiche le type de système de fichiers dans une colonne

Exemples : commande df

Afficher l’espace disque de tous les systèmes de fichiers (format lisible) :

df -h

Exemple de sortie :

Syst. de fichiers   Taille Utilisé Dispo Util% Monté sur
...
/dev/sda2 150G 12G 132G 9% /
/dev/sda1 260M 7,1M 253M 3% /boot/efi
tmpfs 768M 4,0K 768M 1% /run/user/1000
/dev/sdb1 40G 1,1G 37G 3% /mnt

Colonnes utiles :

  • Syst. de fichiers : périphérique ou système de fichiers
  • Taille : taille totale de la partition
  • Utilisé : espace déjà utilisé
  • Dispo : espace disponible
  • Util% : pourcentage d’utilisation
  • Monté sur : point de montage

Vérifier l’espace d’un point de montage précis (ex. /mnt) :

df -h /mnt

N’afficher que les systèmes de fichiers d’un type donné (ex. ext4) :

df -h -t ext4

Exclure un type de système de fichiers (ex. tmpfs) :

df -h -x tmpfs

Afficher le type de système de fichiers :

df -hT

Afficher l’utilisation des inodes :

Les inodes stockent les métadonnées des fichiers et répertoires. Si le disque a de l’espace libre mais que le nombre d’inodes est épuisé, vous ne pourrez plus créer de fichiers.

df -i

Exemple de sortie :

Syst. de fichiers    Inodes  IUtil  ILibre IUtil% Monté sur
...
/dev/sda2 41611680 123735 41487945 1% /
/dev/sdb1 2621440 12 2621428 1% /mnt
  • Inodes : nombre total d’inodes
  • IUtil : inodes utilisés
  • ILibre : inodes libres
  • IUtil% : pourcentage d’inodes utilisés

Vérifier l’utilisation disque avec du

La commande du (disk usage) estime l’espace utilisé par les répertoires et fichiers. Elle sert à identifier quels répertoires ou fichiers consomment le plus d’espace.

Syntaxe de du

du [OPTION]... [FICHIER]...
  • OPTION : options de la commande
  • FICHIER : répertoire ou fichier à analyser. Si absent, du part du répertoire courant.

Options courantes de du

OptionDescription
-h, --human-readableTailles en unités lisibles (K, M, G)
-s, --summarizeAffiche uniquement le total du répertoire indiqué
-a, --allInclut tous les fichiers, pas seulement les répertoires
-c, --totalAffiche un total global en fin de sortie
-d N, --max-depth=NLimite la profondeur de parcours à N niveaux
--exclude=MOTIFExclut les fichiers/répertoires correspondant au motif

Exemples : commande du

Taille totale d’un répertoire (format lisible) :

sudo du -sh /chemin/vers/repertoire

Il est recommandé d’utiliser sudo pour accéder à tous les répertoires (certains sont protégés).

Inclure tous les fichiers (y compris cachés) :

sudo du -ah /chemin/vers/repertoire

Exclure certains types de fichiers (ex. fichiers .log) :

sudo du -ah --exclude='*.log' /chemin/vers/repertoire

Taille des sous-répertoires au premier niveau (ex. /var) :

sudo du -h --max-depth=1 /var

Exemple de sortie :

22M     /var/log
97M /var/lib
4,0K /var/yp
216M /var

Trier les sous-répertoires du plus gros au plus petit :

sudo du -h --max-depth=1 /var | sort -rh

Exemple de sortie :

216M    /var
97M /var/lib
97M /var/cache
22M /var/log
...

Trouver les gros fichiers avec find

La commande find permet de rechercher des fichiers selon la taille, le nom, le type ou la date. Combinée à du, elle aide à repérer les fichiers qui prennent le plus de place.

Lister les fichiers de plus de 50 Mo dans un répertoire (ex. /var) :

sudo find /var -type f -size +50M -exec ls -lh {} \;

Exemple de sortie :

-rw-r--r-- 1 root root 65M May  6 20:29 /var/lib/rpm/rpmdb.sqlite

Rechercher les fichiers de plus de 100 Mo dans tout le système (hors répertoires courants à ignorer) :

sudo find / -type f -size +100M 2>/dev/null
2>/dev/null

La redirection 2>/dev/null masque les erreurs d’accès (permission denied) pour alléger la sortie.

Rechercher les fichiers modifiés depuis plus de 30 jours (pour le nettoyage) :

sudo find /var/log -type f -mtime +30

Récapitulatif des commandes

ObjectifCommande
Vue d’ensemble des partitionsdf -h
Espace d’un point de montagedf -h /mnt
Utilisation des inodesdf -i
Taille d’un répertoiresudo du -sh /chemin
Sous-répertoires triés par taillesudo du -h --max-depth=1 /var | sort -rh
Fichiers de plus de 50 Mosudo find /var -type f -size +50M -exec ls -lh {} \;

En cas de problème

Partition pleine ou quasi pleine

  • Utilisez du pour identifier les répertoires les plus lourds (souvent /var, /tmp, /home, logs).
  • Nettoyez les anciens logs : sudo journalctl --vacuum-time=7d ou suppression de fichiers dans /var/log.
  • Videz les caches de paquets : sudo apt clean (Debian/Ubuntu) ou équivalent.
  • Supprimez les fichiers temporaires dans /tmp si nécessaire.

« No space left on device » alors qu’il reste de l’espace

  • Vérifiez les inodes : df -i. Si IUtil% est à 100 %, le disque n’a plus d’inodes (nombreux petits fichiers). Il faut supprimer ou déplacer des fichiers pour libérer des inodes.

Commandes qui échouent par manque de droits

  • Utilisez sudo pour du et find sur des répertoires système (/var, /etc, /root, etc.).

Références

  • Pages de manuel : man df, man du, man find