Как сделать ваши локальные снимки Time Machine на macOS High Sierra

26

Я заметил, что мое дополнительное пространство внезапно исчезает после обновления до macOS High Sierra. Например, утром у меня свободно 170 ГБ, а к полудню - до 56 ГБ.

Затем иногда это снимает до 170 ГБ. Это немного странно, и перезагрузка иногда работает, но иногда нет.

Я начал изучать «локальные снимки», которые создаются Time Machine автоматически. Я предполагаю, что это локально сохраненные снимки, созданные для эффективности Time Machine. Может быть, когда он не подключен к диску Time Machine, чтобы на нем все еще была версированная резервная копия. Точно сказать не могу.

Вы можете просматривать свои локальные снимки так:

$ 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

Когда я бегу tmutilв своем терминале, я вижу команду под названием thinlocalsnapshots. Что это делает и как мне его использовать?

Джошуа Пинтер
источник
Обычно настройка раздела перед настройкой Time Machine помогает.
Мелвин Джефферсон
1
@MelvinJefferson Я бы с этим согласился. Но это требует предвидения. ;) В итоге я отключил Time Machine при создании раздела и настройке Boot Camp. Это помогло сохранить стабильность системы диска во время разбиения и установки.
Джошуа Пинтер

Ответы:

36

Спойлер: Я получил от ~ 50 ГБ свободного до ~ 277 ГБ свободного, с разницей в 227 ГБ в ходе этого ответа.

Там нет тонны информации от базовой tmutilфункции, но вы можете позвонить, man tmutilчтобы получить более подробную информацию, в частности 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.

Заметное упущение - это то, что есть на default urgencyсамом деле и является ли 1 высокой срочностью или 4 высокой срочностью.

Чтобы показать вам, что происходит в реальных условиях, вот мой стартовый список локальных снимков:

$ 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

При работе без параметров purge_amountи urgency, скорее всего, локальные снимки не будут удалены:

$ tmutil thinlocalsnapshots /
Thinned local snapshots:

С purge_amountнабором 1000000000(1 гигабайт):

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

И если я запустите это снова:

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

Вот что случилось с моим локальным списком снимков:

$ 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

Давайте попробуем запустить эту же команду еще раз:

$ 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

И опять:

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

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

И еще раз, чтобы попытаться удалить этот последний локальный снимок:

$ tmutil thinlocalsnapshots / 1000000000
Thinned local snapshots:

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

Вы можете видеть, что это ничего не сделало в этот раз.

Давайте попробуем увеличить байты до 10 ГБ:

$ tmutil thinlocalsnapshots / 10000000000
Thinned local snapshots:

Еще ничего. Давайте попробуем 100 ГБ:

$ tmutil thinlocalsnapshots / 100000000000
Thinned local snapshots:

Опять ничего.

Таким образом, когда он достигает последнего локального снимка, он должен иметь отношение к urgencyопции, а не к purge_amount.

Давайте вернемся только к 1 ГБ, purge_amountно попробуем urgencyустановить значение 1 (еще одно упущение в руководстве: 1 - высокий или 4 или высокий):

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

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

Успех!

Вы можете видеть, что он уменьшил последний оставшийся локальный снимок, и теперь, когда listlocalsnapshotsвы увидите только последний, но он помечен как (dataless).

Я готов поспорить, urgencyчто значение 1 означает «очень срочно», а urgencyзначение 4 означает «ме, когда угодно».

В ходе этих испытаний мой жесткий диск вырос с ~ 50 ГБ до ~ 277 ГБ. Освобождение около 227 ГБ!

Я бы предположил, что эти локальные снимки будут сокращаться автоматически, особенно когда требуется дополнительное пространство, поэтому вам не нужно слишком беспокоиться об этом.

Но я столкнулся с этим, потому что

  1. Мне было интересно, как я терял все свое свободное место на диске так внезапно, и;

  2. Я пытался создать раздел Boot Camp для запуска Windows, и у меня не было достаточно места, даже если большая часть этого пространства была занята локальными снимками.

Забегая вперед, мне интересно, должен ли я выполнять задание cron каждую неделю или около того, чтобы держать вещи в чистоте. Я посмотрю, что произойдет через несколько дней, и добавлю сюда все, что найду.

Вот сайт Apple для получения дополнительной информации о том, как используются локальные снимки Time Machine:

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

Джошуа Пинтер
источник
Я пытался заставить различные функции снимка работать недавно. Вы заметили, или это только у меня ... сейчас у снимков есть суффикс am или pm, который, кажется, нарушает функцию удаления?
Тецуджин
Без понятия. Не уверен, что вы подразумеваете под "удалить функцию".
Джошуа Пинтер
Извините, слишком много вопросов о снимках открыты одновременно;) Я хотел поместить это под apple.stackexchange.com/q/314038/85275
Tetsujin
2
Отличный пост! В интернете не нашел ничего, что позволило бы мне освободить место. Мне очень нравится, как вы экспериментировали, чтобы выяснить, что означают варианты, а затем задокументировали это.
андрей
@andrew Спасибо, Эндрю! Я не нашел там ничего другого, поэтому подумал, что перешагну через это и возьму тебя с собой на прогулку. :)
Джошуа Пинтер
3

Локальные снимки предназначены для использования машины времени, когда она не подключена к диску вашей машины времени. Они длятся всего 24 часа. Так что вам не нужно их очищать. По крайней мере, это то, что утверждает Apple. Похоже, в ОС не сообщается о свободном пространстве. В некоторых местах он показывает снимки как занимающие реальное пространство, в других местах он показывается как очищаемый. Приложения думают, что они занимают реальное пространство и могут вызвать проблемы.

Джейсон Ф
источник
3
«По крайней мере, это то, что утверждает Apple». Там есть Гоча.
Джошуа Пинтер
3
Почти всегда, если у меня заканчивается или мало места, когда мне нужно место сейчас, а не через 24 часа!
Виктор Энгель
1
tmutil listlocalsnapshotdates /сообщает снимок от 02-01-2019. «По крайней мере, это то, что утверждает Apple».
Джулиан Ф. Вайнерт