Ce qu'est vraiment « Données système » sur macOS (et pourquoi ça pèse 200 Go)
Ce que contient vraiment « Données système » sur un Mac, pourquoi ce bloc gris grossit autant, et comment en vérifier le détail vous-même.
D’autres guides de ce type sont pour l’instant disponibles uniquement en anglais. Voir tous les articles
Vous ouvrez À propos de ce Mac → Stockage. Il y a un segment gris nommé Données système, il pèse 187 Go, et cliquer dessus ne fait rien.
macOS ne donne aucune explication et aucun moyen d’y accéder. Alors faisons les choses correctement.
« Données système » n’est pas vraiment une chose
C’est une catégorie fourre-tout. macOS classe les fichiers qu’il reconnaît — Photos, Musique, Applications, Documents, iCloud Drive — et tout ce qui ne correspond à aucune de ces catégories atterrit dans Données système. Ce n’est pas un dossier. Ce n’est pas un emplacement. C’est le reste, une fois la soustraction faite.
Ce qui veut dire que la réponse à « qu’y a-t-il dans mes Données système ? » est différente sur chaque Mac. Sur le vôtre, en tant que développeur, c’est presque exclusivement une chose : les caches de compilation.
Ce qu’il y a vraiment dedans
À peu près dans l’ordre de la place que ça occupe habituellement sur la machine d’un développeur :
Caches de développeur. DerivedData d’Xcode, simulateurs iOS, l’image de VM de Docker,
node_modules, Gradle, Homebrew, npm, pip, Cargo. macOS n’a de catégorie pour rien de tout ça.
Souvent 60 à 70 % du total.
Instantanés locaux de Time Machine. macOS conserve des instantanés horaires sur votre disque interne même quand votre disque de sauvegarde est ailleurs. Des dizaines de gigaoctets, et ils contiennent des fichiers que vous avez déjà supprimés.
Caches système et utilisateur. /Library/Caches, ~/Library/Caches, et le cache privé de
chaque application — les navigateurs à eux seuls pèsent souvent plusieurs gigaoctets.
Téléchargements de Mail. Chaque pièce jointe que vous avez un jour prévisualisée, conservée indéfiniment.
Sauvegardes d’appareils iOS. Si vous avez déjà sauvegardé un téléphone sur ce Mac, ce sont 30 à
150 Go dans ~/Library/Application Support/MobileSync/Backup.
Image de veille et swap. /private/var/vm contient une image de veille de la taille de votre
RAM, plus les fichiers de swap.
Journaux et diagnostics. /private/var/log, plus des rapports de plantage remontant à
plusieurs années.
Le mystère associé : « Autres volumes du conteneur »
Utilitaire de disque affiche une catégorie portant ce nom, et tout le monde suppose qu’il y a un problème. Il n’y en a aucun.
APFS place plusieurs volumes — Macintosh HD, Macintosh HD - Data, Preboot, Recovery, VM — à l’intérieur d’un même conteneur partagé, et ils puisent tous dans la même réserve d’espace libre. Quand vous regardez un volume, tout ce qu’utilisent les autres volumes est signalé comme « Autres volumes du conteneur ».
Ce n’est pas du bazar et il n’y a rien à nettoyer. C’est juste APFS qui décrit maladroitement cet arrangement de partage.
Pourquoi le chiffre d’espace libre n’arrête pas de changer
APFS présente l’espace purgeable comme disponible. Les instantanés locaux et les caches évictables comptent dans votre espace libre parce que macOS pense pouvoir les récupérer en cas de besoin.
L’effet concret : le Finder indique 40 Go libres, vous essayez de copier un fichier de 30 Go, et ça échoue. Ces 40 Go étaient en grande partie purgeables, et macOS ne les a pas récupérés assez vite.
Pour le chiffre honnête :
df -h /System/Volumes/Data
Ouvrez le bloc vous-même
Arrêtez de deviner. Mesurez :
# Top-level, home directory and Library
du -sh -- ~/* ~/Library/* 2>/dev/null | sort -hr | head -25
# Caches specifically
du -sh ~/Library/Caches/* 2>/dev/null | sort -hr | head -20
# Time Machine local snapshots
tmutil listlocalsnapshots /
# iOS backups
du -sh ~/Library/Application\ Support/MobileSync/Backup/* 2>/dev/null
# Mail attachments
du -sh ~/Library/Containers/com.apple.mail 2>/dev/null
Laissez une minute ou deux à la première commande. À elles cinq, ces commandes couvrent la grande majorité des Données système de n’importe quel développeur, et les résultats ne sont généralement pas subtils — une ou deux lignes dominent tout le reste.
Ce qu’il est prudent de supprimer
Sûr, se régénère automatiquement : DerivedData d’Xcode, caches de simulateur, cache de
compilation Docker, node_modules, tous les caches des gestionnaires de paquets,
~/Library/Caches (quittez d’abord les applications — certaines se comportent mal si vous retirez
leur cache pendant qu’elles tournent).
Sûr, mais à réfléchir avant : les instantanés locaux de Time Machine, qui représentent votre capacité à récupérer un fichier supprimé il y a une heure. Supprimez-les quand vous avez besoin d’espace maintenant, pas comme entretien de routine :
# Free approximately 50 GB, urgency 4
sudo tmutil thinlocalsnapshots / 50000000000 4
Les anciennes sauvegardes iOS, de même — vérifiez que le téléphone est encore sauvegardé quelque part avant de supprimer.
À ne pas toucher : /System (protégé par SIP, et vous ne pouvez de toute façon pas y accéder),
/private/var/vm (macOS gère l’image de veille et le swap ; les supprimer ne change rien
durablement), et tout ce que vous ne pouvez pas identifier dans /Library.
En une phrase
Sur le Mac d’un développeur, « Données système » désigne surtout des caches de compilation auxquels macOS ne donne pas de nom. Ce n’est ni une corruption, ni un bug, ni quelque chose qu’un outil d’optimisation réglera comme par magie. C’est Xcode, Docker, npm et Gradle qui font exactement ce pour quoi ils ont été conçus, dans un dossier qu’Apple vous cache.
Le guide complet du stockage pour développeurs détaille chaque source avec la commande pour la récupérer. DevCruft, une application Mac gratuite pour développeurs en cours de création, doit dessiner tout le disque à l’échelle et identifier chacune d’elles, la même information sans passer par le terminal. Rejoignez la liste d’attente pour être prévenu de sa sortie.