So verdünnen Sie Ihre lokalen Time Machine-Snapshots unter macOS High Sierra


26

Mir ist aufgefallen, dass mein zusätzlicher Speicherplatz nach dem Upgrade auf macOS High Sierra plötzlich verschwindet. Zum Beispiel habe ich morgens 170 GB frei und am Nachmittag habe ich 56 GB frei.

Dann schießt das manchmal auf 170 GB zurück. Es ist etwas seltsam und ein Neustart funktioniert manchmal, aber manchmal nicht.

Ich habe mich mit "lokalen Schnappschüssen" befasst, die von Time Machine automatisch erstellt werden. Ich gehe davon aus, dass dies lokal gespeicherte Snapshots sind, die für die Effizienz von Time Machine erstellt wurden. Möglicherweise, wenn es nicht mit der Time Machine-Festplatte verbunden ist, sodass weiterhin eine versionierte Sicherung möglich ist. Nicht sicher.

Sie können Ihre lokalen Schnappschüsse folgendermaßen anzeigen:

$ tmutil listlocalsnapshots /
com.apple.TimeMachine.2017-12-14-173102
com.apple.TimeMachine.2017-12-14-212356
com.apple.TimeMachine.2017-12-15-052254
com.apple.TimeMachine.2017-12-15-084940
com.apple.TimeMachine.2017-12-15-094508
com.apple.TimeMachine.2017-12-15-121635

Wenn ich tmutilin meinem Terminal starte, wird ein Befehl aufgerufen thinlocalsnapshots. Was macht das und wie verwende ich es?


Normalerweise hilft das Einrichten einer Partition vor dem Einrichten von Time Machine.
Melvin Jefferson

1
@ MelvinJefferson Dem würde ich definitiv zustimmen. Aber das erfordert Voraussicht. ;) Am Ende habe ich Time Machine ausgeschaltet, während ich die Partition erstellt und trotzdem Boot Camp eingerichtet habe. Dies trug dazu bei, das Festplattensystem während der Partitionierung und Installation stabil zu halten.
Joshua Pinter

Antworten:


36

Spoiler: Ich bin im Verlauf dieser Antwort von ~ 50 GB kostenlos auf ~ 277 GB kostenlos gewechselt, was einem Unterschied von etwa 227 GB entspricht.

Es gibt nicht jede Menge Informationen aus der Grundfunktion tmutil, aber Sie können anrufen man tmutil, um weitere Informationen zu erhalten, insbesondere zu thinlocalsnapshots:

thinlocalsnapshots mount_point [purge_amount] [urgency]
             Thin local Time Machine snapshots for the specified volume.

             When purge_amount and urgency are specified, tmutil will attempt (with urgency level 1-4) to reclaim purge_amount in bytes by thinning snapshots.

             If urgency is not specified, the default urgency will be used.

Eine auffällige Lücke ist, was das default urgencyeigentlich ist und ob 1 eine hohe Dringlichkeit ist oder 4 eine hohe Dringlichkeit.

Um Ihnen zu zeigen, was in der realen Welt passiert, ist hier meine Startliste der lokalen Snapshots:

$ tmutil listlocalsnapshots /
com.apple.TimeMachine.2017-12-14-173102
com.apple.TimeMachine.2017-12-14-212356
com.apple.TimeMachine.2017-12-15-052254
com.apple.TimeMachine.2017-12-15-084940
com.apple.TimeMachine.2017-12-15-094508
com.apple.TimeMachine.2017-12-15-121635

Wenn Sie ohne die Optionen purge_amountund urgencyausführen, werden wahrscheinlich keine lokalen Snapshots gelöscht:

$ tmutil thinlocalsnapshots /
Thinned local snapshots:

Bei purge_amountEinstellung auf 1000000000(1 Gigabyte):

$ tmutil thinlocalsnapshots / 1000000000
Thinned local snapshots:
2017-12-14-173102

Und wenn ich das nochmal mache:

$ tmutil thinlocalsnapshots / 1000000000
Thinned local snapshots:
2017-12-14-212356

Folgendes ist mit meiner lokalen Snapshot-Liste passiert:

$ tmutil listlocalsnapshots /
com.apple.TimeMachine.2017-12-15-052254
com.apple.TimeMachine.2017-12-15-084940
com.apple.TimeMachine.2017-12-15-094508
com.apple.TimeMachine.2017-12-15-121635

Versuchen wir, denselben Befehl noch einmal auszuführen:

$ tmutil thinlocalsnapshots / 1000000000
Thinned local snapshots:
2017-12-15-052254
2017-12-15-084940

$ tmutil listlocalsnapshots /
com.apple.TimeMachine.2017-12-15-094508
com.apple.TimeMachine.2017-12-15-121635

Und wieder:

$ tmutil thinlocalsnapshots / 1000000000
Thinned local snapshots:
2017-12-15-094508

$ tmutil listlocalsnapshots /
com.apple.TimeMachine.2017-12-15-121635

Und noch einmal, um diesen letzten lokalen Schnappschuss zu entfernen:

$ tmutil thinlocalsnapshots / 1000000000
Thinned local snapshots:

$ tmutil listlocalsnapshots /
com.apple.TimeMachine.2017-12-15-121635

Sie können sehen, es hat diesmal nichts getan.

Versuchen wir, die Bytes auf 10 GB zu erhöhen:

$ tmutil thinlocalsnapshots / 10000000000
Thinned local snapshots:

Immer noch nichts. Probieren wir mal 100 GBs aus:

$ tmutil thinlocalsnapshots / 100000000000
Thinned local snapshots:

Wieder nichts.

Wenn es also um den letzten lokalen Snapshot geht, muss es sich eher um die urgencyOption als um die handeln purge_amount.

Gehen wir zurück zu 1 GB für das, purge_amountaber versuchen Sie es mit urgency1 (eine weitere Lücke im Handbuch ist, ob 1 hoch oder 4 oder hoch ist):

$ tmutil thinlocalsnapshots / 1000000000 1
Thinned local snapshots:
2017-12-15-121635

$ tmutil listlocalsnapshots /
com.apple.TimeMachine.2017-12-15-121635 (dataless)

Erfolg!

Sie können sehen, dass es den letzten verbleibenden lokalen Snapshot ausgedünnt hat, und jetzt, wenn Sie listlocalsnapshotsnur den letzten sehen, der jedoch als markiert ist (dataless).

Ich bin bereit zu wetten, dass urgencydas Setzen auf 1 "sehr dringend" und das urgencySetzen auf 4 "meh, wann immer" bedeutet.

Im Laufe dieser Tests ist meine Festplatte von ~ 50 GB kostenlos auf ~ 277 GB kostenlos gestiegen. Eine Freigabe von ca. 227 GB!

Ich gehe davon aus, dass diese lokalen Snapshots automatisch verkleinert werden, insbesondere wenn zusätzlicher Speicherplatz erforderlich ist, sodass Sie sich nicht zu viele Gedanken darüber machen müssen.

Aber ich bin darauf gestoßen, weil

  1. Ich fragte mich, wie ich so plötzlich all meinen freien Speicherplatz verlor und;

  2. Ich habe versucht, eine Boot Camp-Partition zum Ausführen von Windows zu erstellen, und ich hatte nicht genügend Speicherplatz, obwohl der größte Teil dieses Speicherplatzes nur von lokalen Snapshots belegt wurde.

Ich frage mich, ob ich einen Cron-Job haben soll, der jede Woche einen Ausdünnungsbefehl ausführt, nur um die Dinge sauber zu halten. Ich werde sehen, was nach ein paar weiteren Tagen passiert, und alles hinzufügen, was ich hier finde.

Auf der Apple-Website finden Sie weitere Informationen zur Verwendung der lokalen Snapshots von Time Machine:

https://support.apple.com/en-ca/HT204015


Ich habe in letzter Zeit versucht, verschiedene Snapshot-Funktionen zum Laufen zu bringen. Haben Sie bemerkt, oder bin es nur ich ..., dass Schnappschüsse jetzt ein Suffix am oder pm haben, was die Löschfunktion zu beeinträchtigen scheint?
Tetsujin

Keine Ahnung. Ich bin mir auch nicht sicher, was Sie unter "Löschfunktion" verstehen.
Joshua Pinter

Entschuldigung, es sind zu viele Schnappschuss-Fragen gleichzeitig offen;) Ich wollte dies unter apple.stackexchange.com/q/314038/85275
Tetsujin am

2
Guter Eintrag! Konnte nichts anderes im Internet finden, das mir tatsächlich erlaubt hätte, Speicherplatz zurückzugewinnen. Es gefällt mir sehr, wie Sie experimentiert haben, um herauszufinden, was die Optionen bedeuten, und es dann dokumentiert haben.
Andrew

@undrew Danke, Andrew! Ich habe da draußen auch nichts anderes gefunden und dachte, ich würde es durchgehen und dich mitnehmen. :)
Joshua Pinter

3

Lokale Snapshots dienen zur Verwendung von Time Machine, wenn keine Verbindung zu Ihrem Time Machine-Laufwerk besteht. Sie dauern nur 24 Stunden. Sie sollten sie also nicht ausräumen müssen. Zumindest behauptet Apple dies. Freier Speicherplatz scheint im Betriebssystem nicht konsistent gemeldet zu werden. An einigen Stellen werden die Schnappschüsse so dargestellt, dass sie realen Raum einnehmen, an anderen Stellen werden sie als löschbar dargestellt. Die Anwendungen gehen davon aus, dass sie viel Platz beanspruchen und Probleme verursachen können.


3
"Zumindest behauptet Apple dies." Da ist der Gotcha.
Joshua Pinter

3
Fast immer, wenn mir der Speicherplatz ausgeht oder knapp wird, ist der Speicherplatz JETZT nicht innerhalb von 24 Stunden verfügbar!
Victor Engel

1
tmutil listlocalsnapshotdates /meldet einen Schnappschuss vom 01.02.2009. "Zumindest behauptet Apple dies."
Julian F. Weinert
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.