Das 1998 eingeführte und bis 2016 auf Apple-Geräten gängige Dateisystem HFS+ basiert auf dem 1985 vorgestellten "Hierarchical File System" (kurz HFS). Viele fortschrittliche Technologien wie Copy-On-Write oder eine dynamische Partitionierung waren mit HFS+ nicht realisierbar – und daher stellte Apple im Jahr 2016 ein neues Dateisystem namens "Apple File System" (kurz APFS) vor. Das neue Dateisystem unterstützt beispielsweise Snapshots, transparente Verschlüsselung, Datei-Clones und dynamische Partitionen wie auch einen höheren Schutz vor Datenverlust bei Systemabstürzen.
Bei traditionellen Dateisystemen ist die Angabe des verfügbaren und belegten Speichers eine triviale Angabe: Belegen beispielsweise die Dateien auf einer Partition mit 100 GB Kapazität 40 GB – daher sind noch 60 GB an Kapazität verfügbar. Ändert man einen einzelnen Buchstaben in einer Textdatei, ist danach die exakt gleiche Menge an freier Kapazität verfügbar – doch bei APFS ist dies je nach den Gegebenheiten anders.
Eclecticlight.co listet einige Gründe auf, warum die Angabe des freien Speicherplatzes bei APFS so komplex und verwirrend ist.
SnapshotsAPFS bringt eine Funktion mit, um ein "Schnappschuss" des aktuellen Zustandes einer kompletten Partition zu erstellen. Wie von Zauberhand ist das Erzeugen eines Snapshots nach wenigen Millisekunden abgeschlossen – und es kann jederzeit auf die Dateien im Snapshot zugegriffen werden. Wenn die Dateien auf der Partition verändert werden, liefern die Dateien im Snapshot immer noch den Inhalt zurück, den diese bei Erstellung des Snapshots hatten.
Was wie Magie klingt, ist aber nur eine sehr geschickte Verwaltung: Ist ein Snapshot vorhanden, wird beim Verändern der Datei der Inhalt nicht überschrieben, sondern die neuen Daten an eine andere Stelle geschrieben – und das Snapshot verweist weiterhin auf die alten Daten, die Partition jedoch an die neue Stelle.
Dies hat aber einen merkwürdigen Effekt: Das Verändern einer Datei verringert, sobald ein Snapshot vorhanden ist, die zur Verfügung stehende freie Speicherkapazität. In letzter Konsequenz bedeutet dies, dass ein Snapshot die Freigabe von belegten Speicherplatz komplett verhindert. Löscht der Nutzer eine Datei, und es ist ein Snapshot vorhanden, steigt der freie Speicherplatz nicht. Verändert er eine Datei, sinkt der freie Speicherplatz.
Ist die Apple-Backup-Lösung "Time Machine" aktiviert, legt diese nach dem eingestellten Zeitplan Snapshots an, um diese zu einem späteren Zeitpunkt auf die eingestellte Backup-Festplatte zu sichern. Dies bedeutet aber, dass im Normalfall ein Snapshot vorhanden ist – und somit erst nach Abschluss eines Backups (und der daraufhin erfolgten Löschung des Snapshots) überhaupt wieder Speicherplatz freigegeben werden kann.
Datei-ClonesDupliziert man auf einem APFS-Volume eine Datei, sinkt der verfügbare Speicherplatz merkwürdigerweise nicht. Dies liegt daran, dass die Meta-Informationen der Datei zwar kopiert werden, nicht jedoch die Daten. Quell- wie auch Zieldatei verweisen auf dieselben Speicherblöcke auf der Festplatte. Ändert man jedoch die Quell- oder die Zieldatei, schreibt APFS die Daten an eine andere Stelle auf der Festplatte – und der verfügbare Speicherplatz sinkt.
Dies hat den merkwürdigen Effekt, dass selbst das Ändern einer Datei dazu führen kann, dass der verfügbare Speicherplatz sinkt – obwohl die Datei nicht größer geworden ist. Legt man zum Beispiel eine Datei mit 10 GB Größe an und kopiert diese, ändert dies nichts am verfügbaren Speicherplatz. Auf einer 100-GB-Partition zeigt der Finder 90 GB an verfügbarem Speicher an – obwohl zwei Dateien mit jeweils 10 GB Daten vorhanden sind.
Sparse-DateienOftmals verwenden virtuelle Maschinen wie auch Datenbanken sogenannte Sparse-Dateien. Diese belegen nur einen Bruchteil der eigentlich zugewiesenen Größe und wachsen erst, wenn der Inhalt der Datei dies erfordert. So kann eine Sparse-Datei mit 10 GB Größe angelegt werden – ohne Daten belegt diese aber nur wenige Kilobyte. Werden nun 1 GB Daten an den Anfang der Datei geschrieben, belegt diese 1 GB.
Doch dieses Verhalten erfordert die Nutzung bestimmter Programmier-Bibliotheken – und verändert man diese Datei mit einem Programm, welches nicht mit Sparse-Dateien umgehen kann, wird plötzlich die gesamte Größe der Datei auf der Partition reserviert.
Container und VolumesFrüher hatten Partitionen einfach eine feste Größe – eine Festplatte mit 500 GB konnte in beispielsweise zwei 250-GB-Partitionen aufgeteilt werden. War die Speicherkapazität einer der Partitionen erschöpft, aber auf der anderen Partition noch Platz, war es nur mit großem Aufwand möglich, die Aufteilung anzupassen.
Bei APFS ist dies anders: Volumes auf einem Container teilen sich den freien Speicherplatz. Legt man auf einer Festplatte mit 500 GB einen Container mit zwei Volumes an, meldet jeder der zwei Volumes, über 500 GB Speicherplatz zu verfügen. Doch der Nutzer hat nicht auf magische Art und Weise eine Festplatte mit 1.000 GB erschaffen, denn die Volumes teilen sich intern den Speicher. Legt man eine 100-GB-Datei auf einem der Volumes an, melden beide Volumes plötzlich nur noch 400 GB freien Speicherplatz.
Time Machine oft der Grund für SpeicherplatzproblemeWas bedeutet dies nun für Nutzer, denen der Speicherplatz ausgegangen ist? Hat man einige größere Dateien gelöscht, und der Speicherplatz sinkt nicht, sind in den allermeisten Fällen Snapshots von Time Machine hierfür verantwortlich. Zuerst sollte man die Backup-Festplatte anschließen und Time Machine eine Sicherung durchführen lassen. Dies sorgt dafür, dass Time Machine nach erfolgreicher Sicherung die Snapshots entfernt – und der Speicherplatz freigegeben wird.
Doch Vorsicht: Nicht sofort nach Abschluss des Backups und Entfernung des Snapshots wird der Speicherplatz freigeben. Da diverse Prozesse involviert sind, kann es im Zweifelsfall sogar einige Minuten dauern, bis das Gerät den frei gewordenen Speicherplatz durch Löschung der Snapshots auch wirklich anzeigt.
Ist man der Bedienung des Terminals mächtig, kann man sich mittels des Befehls "tmutil" (Time-Machine-Utility) anzeigen lassen, welche Snapshots Time Machine aktuell auf dem Volume zwecks Sicherung vorhält.
Der Finder liefert aber auch zumindest einen Hinweis: Öffnet man das Informationsfenster zu einem Volume, zeigt der Finder die verfügbare Kapazität an – und in Klammern eine weitere Angabe mit dem Zusatz "löschbar"). Hierbei handelt es sich um durch Schnappschüsse belegten Platz, welcher bei Entfernung dieser freigegeben wird. Hauptsächlich sind dies Time-Machine-Snapshots, aber auch vorbereitete Betriebssystem-Updates können durch Snapshots Platz verbrauchen.