Jak przerzedzić lokalne migawki Time Machine na macOS High Sierra

26

Zauważyłem, że moja dodatkowa przestrzeń nagle zniknęła po aktualizacji do macOS High Sierra. Na przykład mam rano 170 GB wolnego miejsca, a po południu spadam do 56 GB.

Potem czasami nagrywa do 170 GB. Jest to trochę dziwne i ponowne uruchomienie czasami działa, ale czasami nie.

Zacząłem szukać „lokalnych migawek” tworzonych automatycznie przez Time Machine. Zakładam, że są to lokalnie przechowywane migawki tworzone z myślą o wydajności Time Machine. Może wtedy, gdy nie jest podłączony do dysku Time Machine, aby nadal mógł mieć wersjonowaną kopię zapasową. Niepewny.

Możesz wyświetlić lokalne migawki w następujący sposób:

$ 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

Po uruchomieniu tmutilw terminalu widzę polecenie o nazwie thinlocalsnapshots. Co to robi i jak go używać?

Joshua Pinter
źródło
Zwykle pomaga konfiguracja partycji przed skonfigurowaniem Time Machine.
Melvin Jefferson,
1
@MelvinJefferson Zdecydowanie się z tym zgodzę. Ale to wymaga przewidywania. ;) Skończyłem wyłączanie Time Machine podczas tworzenia partycji i konfigurowania Boot Camp. Pomogło to utrzymać stabilność systemu dyskowego podczas partycji i instalacji.
Joshua Pinter,

Odpowiedzi:

36

Spoiler: Przeszedłem z ~ 50 GB za darmo do ~ 277 GB za darmo, około 227 GB różnicy, w trakcie tej odpowiedzi.

Nie ma mnóstwo informacji z podstawowej tmutilfunkcji, ale możesz zadzwonić, man tmutilaby uzyskać więcej szczegółów, w szczególności na 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.

Zauważalnym pominięciem jest to, czym default urgencytak naprawdę jest i czy 1 to pilna potrzeba, czy 4 to pilna potrzeba.

Aby pokazać, co dzieje się w rzeczywistym świecie, oto moja początkowa lista lokalnych migawek:

$ 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

Podczas pracy bez opcji purge_amounti urgency, prawdopodobnie nie zostaną usunięte żadne lokalne migawki:

$ tmutil thinlocalsnapshots /
Thinned local snapshots:

Przy purge_amountustawieniu na 1000000000(1 gigabajt):

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

A jeśli uruchomię to jeszcze raz:

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

Oto, co stało się z moją lokalną listą migawek:

$ 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

Spróbujmy uruchomić to samo polecenie jeszcze raz:

$ 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

I ponownie:

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

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

I jeszcze raz spróbuj usunąć ostateczną lokalną migawkę:

$ tmutil thinlocalsnapshots / 1000000000
Thinned local snapshots:

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

Widać, że tym razem nic nie zrobiło.

Spróbujmy zwiększyć bajty do 10 GB:

$ tmutil thinlocalsnapshots / 10000000000
Thinned local snapshots:

Wciąż nic. Wypróbujmy 100 GB:

$ tmutil thinlocalsnapshots / 100000000000
Thinned local snapshots:

Znowu nic.

Tak więc, kiedy dojdzie do ostatniej lokalnej migawki, musi mieć do czynienia urgencyraczej z opcją niż z purge_amount.

Wróćmy tylko do 1 GB, purge_amountale spróbuj urgencyustawić na 1 (innym pominięciem w instrukcji jest to, czy 1 jest wysoki, 4 czy wysoki):

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

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

Sukces!

Możesz zobaczyć, że przerzedził ostatnią lokalną migawkę, a teraz, gdy listlocalsnapshotszobaczysz tylko najnowszą, ale jest ona oznaczona jako (dataless).

Jestem gotów się założyć, urgencyże ustawienie na 1 oznacza „bardzo pilne”, a urgencyustawienie na 4 oznacza „meh, kiedykolwiek”.

W trakcie tych prób mój dysk twardy przeszedł z ~ 50 GB za darmo do ~ 277 GB za darmo. Uwolnienie około 227 GB!

Zakładam, że te lokalne migawki zostaną automatycznie przerzedzone, szczególnie gdy wymagana jest dodatkowa przestrzeń, więc nie powinieneś się tym zbytnio przejmować.

Ale wpadłem na to, ponieważ

  1. Zastanawiałem się, jak nagle straciłem całe wolne miejsce na dysku;

  2. Próbowałem utworzyć partycję Boot Camp, aby uruchomić system Windows i nie miałem wystarczająco dużo miejsca, nawet jeśli większość tego miejsca zajmowały lokalne migawki.

Idąc dalej, zastanawiam się, czy powinienem zlecić cronowi wykonywanie polecenia przerzedzania co tydzień, aby utrzymać porządek. Zobaczę, co się stanie po kilku dniach i dodam tutaj wszystko, co znajdę.

Oto strona Apple, aby uzyskać więcej informacji na temat używania lokalnych migawek Time Machine:

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

Joshua Pinter
źródło
Ostatnio próbowałem uruchomić różne funkcje migawek. Zauważyłeś, czy to tylko ja ... że migawki mają teraz sufiks am lub pm, co wydaje się przerywać funkcję usuwania?
Tetsujin
Brak pomysłu. Nie jestem pewien, co rozumiesz przez „funkcję usuwania”.
Joshua Pinter
Przepraszam, zbyt wiele pytań migawkowych otwiera się jednocześnie;) Chciałem umieścić to pod apple.stackexchange.com/q/314038/85275
Tetsujin
2
Wspaniały post! Nie mogłem znaleźć w Internecie niczego innego, co pozwoliłoby mi odzyskać miejsce. Bardzo podoba mi się to, jak eksperymentowałeś, aby dowiedzieć się, co oznaczają opcje, a następnie udokumentowałem to.
andrew
@andrew Dzięki, Andrew! Nie znalazłem też nic innego, więc pomyślałem, że przejdę przez to i zabiorę cię na przejażdżkę. :)
Joshua Pinter
3

Lokalne migawki służą do korzystania z wehikułu czasu, gdy nie jest on podłączony do napędu wehikułu czasu. Trwają tylko 24 godziny. Więc nie powinieneś ich usuwać. Przynajmniej tak twierdzi Apple. Wydaje się, że wolne miejsce nie jest regularnie zgłaszane w systemie operacyjnym. W niektórych miejscach pokazuje migawki jako zajmujące rzeczywistą przestrzeń, w innych jest pokazane jako usuwalne. Aplikacje myślą, że zajmują rzeczywistą przestrzeń i mogą powodować problemy.

Jason F.
źródło
3
„Przynajmniej tak twierdzi Apple”. Jest gotcha.
Joshua Pinter
3
Prawie zawsze, jeśli zabraknie mi miejsca lub zabraknie miejsca, kiedy potrzebuję, miejsce nie jest TERAZ za 24 godziny!
Victor Engel
1
tmutil listlocalsnapshotdates /zgłasza migawkę z 02-01-2019. „Przynajmniej tak twierdzi Apple”.
Julian F. Weinert