Як зменшити знімки локальної машини часу на 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, і мені не вистачало місця, навіть більшу частину цього простору займали місцеві знімки.

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

Ось сайт Apple для отримання додаткової інформації про те, як використовуються локальні знімки Time Machine:

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


Я нещодавно намагався змусити працювати різні функції знімків. Ви помітили, чи це просто я ..., що на знімках зараз є суфікс am або pm, який, здається, порушує функцію видалення?
Tetsujin

Не маю уявлення. Не впевнений, що ви маєте на увазі під «видалити функцію».
Джошуа Пінтер

До жаль, занадто багато питань моментальних відкрити відразу;) Я мав в виду , щоб поставити цей під apple.stackexchange.com/q/314038/85275
Tetsujin

2
Чудовий пост! В Інтернеті не вдалося знайти нічого іншого, що насправді дозволить мені повернути місце. Мені дуже подобається, як ви експериментували, щоб з’ясувати, що означають варіанти, а потім це задокументували.
andrew

@andrew Спасибі, Ендрю! Я нічого іншого там теж не знайшов, тому я подумав, що перетну його і привезу вас на поїздку. :)
Джошуа Пінтер

3

Місцеві знімки призначені для використання машини часу, коли він не підключений до приводу вашої машини часу. Вони тривають лише 24 години. Тож вам не доведеться їх очищати. Принаймні, так стверджує Apple. Здається, вільний простір не надто послідовно повідомляється в ОС. У деяких місцях знімки показують, як вони займають реальний простір, в інших місцях вони показані як очищувані. Програми вважають, що він займає реальний простір, і це може спричинити проблеми.


3
"Принаймні, так це стверджує Apple." Там готча.
Джошуа Пінтер

3
Майже завжди, якщо мені не вистачає місця або мало місця, коли мені потрібен простір, це ЗАРАЗ не за 24 години!
Віктор Енгель

1
tmutil listlocalsnapshotdates /повідомляє знімок від 01.01.2019. "Принаймні, так це стверджує Apple."
Джуліан Ф. Вайнерт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.