Cómo simplificar las instantáneas locales de Time Machine en macOS High Sierra

He notado que mi espacio extra desaparece repentinamente desde que actualicé a macOS High Sierra. Por ejemplo, tengo 170 GB libres por la mañana y luego por la tarde tengo 56 GB.

Luego, a veces, eso se dispara hasta 170 GB. Es un poco extraño y reiniciar a veces funciona pero a veces no.

Empecé a buscar "instantáneas locales" que Time Machine crea automáticamente. Supongo que estas son instantáneas almacenadas localmente que se crean para la eficiencia de Time Machine. Tal vez cuando no está conectado al disco de Time Machine para que aún pueda tener una copia de seguridad versionada. No estoy seguro.

Puede ver sus instantáneas locales así:

$ 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

Cuando ejecuto tmutilmi Terminal, veo un comando llamado thinlocalsnapshots. ¿Qué hace eso y cómo lo uso?

Por lo general, configurar una partición antes de configurar Time Machine ayuda.
@MelvinJefferson Definitivamente estaría de acuerdo con eso. Pero eso requiere previsión. ;) Terminé apagando Time Machine mientras creaba la partición y configuraba Boot Camp de todos modos. Eso ayudó a mantener estable el sistema de disco durante la partición y la instalación.

Respuestas (2)

Spoiler: pasé de ~ 50 GB gratis a ~ 277 GB gratis, aproximadamente 227 GB de diferencia, en el transcurso de esta respuesta.

No hay mucha información de la tmutilfunción básica, pero puede llamar man tmutilpara obtener más detalles, específicamente sobre 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.

Una omisión notable es cuál es default urgencyrealmente y si 1 es de alta urgencia o 4 es de alta urgencia.

Para mostrarle lo que sucede en el mundo real, aquí está mi lista inicial de instantáneas locales:

$ 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

Cuando se ejecuta sin las opciones purge_amounty urgency, es probable que no se eliminen las instantáneas locales:

$ tmutil thinlocalsnapshots /
Thinned local snapshots:

Con purge_amountel ajuste a 1000000000(1 Gigabyte):

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

Y si ejecuto eso de nuevo:

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

Esto es lo que sucedió con mi lista de instantáneas locales:

$ 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

Intentemos ejecutar ese mismo comando una vez más:

$ 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

Y otra vez:

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

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

Y una vez más para intentar eliminar esa instantánea local final:

$ tmutil thinlocalsnapshots / 1000000000
Thinned local snapshots:

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

Puedes ver que no hizo nada esta vez.

Intentemos aumentar los bytes a 10 GB:

$ tmutil thinlocalsnapshots / 10000000000
Thinned local snapshots:

Aún nada. Probemos con 100 GB:

$ tmutil thinlocalsnapshots / 100000000000
Thinned local snapshots:

De nuevo, nada.

Entonces, cuando llega a la última instantánea local, debe tener que ver con la urgencyopción en lugar del purge_amount.

Volvamos a solo 1 GB para el purge_amountpero intente urgencyestablecerlo en 1(otra omisión en el manual es si 1es alto 4o alto, pero @Clete2 cree que 4es alto):

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

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

¡Éxito!

Puede ver que redujo la última instantánea local restante y ahora, cuando listlocalsnapshotsverá solo la última, pero está etiquetada como (dataless).

Estoy dispuesto a apostar que urgencyestablecerlo en 1 significa "muy urgente" y urgencyestablecerlo en 4 significa "meh, cuando sea".

En el transcurso de estas pruebas, mi disco duro pasó de ~ 50 GB libres a ~ 277 GB libres. ¡Una liberación de unos 227 GB!

Asumiría que estas instantáneas locales se reducirían automáticamente, especialmente cuando se requiere espacio adicional, por lo que no debería preocuparse demasiado por esto.

Pero, me encontré con esto porque

  1. Me preguntaba cómo estaba perdiendo todo mi espacio libre en disco tan repentinamente, y;

  2. Estaba tratando de crear una partición Boot Camp para ejecutar Windows y no tenía suficiente espacio, aunque la mayor parte de ese espacio estaba siendo ocupado por instantáneas locales.

En el futuro, me pregunto si debería hacer que un trabajo cron ejecute un comando de adelgazamiento cada semana más o menos, solo para mantener las cosas limpias. Veré qué sucede después de unos días más y agregaré cualquier cosa que encuentre aquí.

Aquí está el sitio de Apple para obtener más información sobre cómo se utilizan las instantáneas locales de Time Machine:

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

He estado tratando de hacer que varias funciones de instantáneas funcionen recientemente. ¿Ha notado, o solo soy yo... que las instantáneas ahora tienen un sufijo am o pm, lo que parece romper la función de eliminación?
Ni idea. Tampoco estoy seguro de lo que quiere decir con "eliminar función".
Lo siento, hay demasiadas preguntas de instantáneas abiertas a la vez;) Tenía la intención de poner esto en apple.stackexchange.com/q/314038/85275
¡Buena publicación! No pude encontrar nada más en Internet que realmente me permitiera recuperar espacio. Realmente me gusta cómo experimentaste para descubrir qué significan las opciones y luego lo documentaste.
@andrew ¡Gracias, Andrew! Tampoco encontré nada más por ahí, así que pensé en dar un paso al frente y llevarte a dar un paseo. :)
Cuando lo usé 1para la urgencia, no hizo nada. Probé 4y purgó todo (con la opción de 100 GB). Creo que 4es alto?
@ Clete2 Genial! Está bien, es bueno saberlo. Agregaré una pequeña nota a la respuesta.

Las instantáneas locales son para usar Time Machine cuando no está conectado a su unidad de Time Machine. Solo duran 24 horas. Así que no deberías tener que limpiarlos. Al menos esto es lo que afirma Apple. El espacio libre no parece informarse de forma coherente en el sistema operativo. En algunos lugares muestra las instantáneas ocupando espacio real, en otros lugares se muestra como purgable. Las aplicaciones piensan que está ocupando espacio real y puede causar problemas.

"Al menos esto es lo que afirma Apple". Ahí está el problema.
Casi siempre, si me quedo sin espacio o tengo poco espacio, cuando necesito el espacio es AHORA, ¡no en 24 horas!
tmutil listlocalsnapshotdates /informa una instantánea del 02-01-2019. "Al menos esto es lo que afirma Apple".
Puedo confirmar, durante un buen período de tiempo, que incluso cuando estaba conectado a la unidad Time Machine continuamente, las instantáneas locales no se borraron. IME, podría ser un caso alarmante de la increíble reducción del espacio disponible.