Comment affiner vos instantanés Time Machine locaux sur macOS High Sierra

26

J'ai remarqué que mon espace supplémentaire disparaît soudainement depuis la mise à niveau vers macOS High Sierra. Par exemple, j'ai 170 Go gratuits le matin, puis l'après-midi, je suis tombé à 56 Go.

Parfois, cela revient à 170 Go. C'est un peu étrange et le redémarrage fonctionne parfois mais parfois non.

J'ai commencé à chercher des «instantanés locaux» créés automatiquement par Time Machine. Je suppose que ce sont des instantanés stockés localement qui sont créés pour l'efficacité de Time Machine. Peut-être lorsqu'il n'est pas connecté au disque Time Machine afin qu'il puisse toujours avoir une sauvegarde versionnée. Pas certain.

Vous pouvez afficher vos instantanés locaux comme suit:

$ 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

Lorsque je cours tmutildans mon terminal, je vois une commande appelée thinlocalsnapshots. Qu'est-ce que cela fait et comment l'utiliser?

Joshua Pinter
la source
Habituellement, la configuration d'une partition avant de configurer Time Machine aide.
Melvin Jefferson
1
@MelvinJefferson Je serais certainement d'accord avec cela. Mais cela nécessite de la prévoyance. ;) J'ai fini par désactiver Time Machine lors de la création de la partition et de la configuration de Boot Camp. Cela a aidé à maintenir le système de disque stable pendant la partition et l'installation.
Joshua Pinter

Réponses:

36

Spoiler: Je suis passé de ~ 50 Go gratuits à ~ 277 Go gratuits, environ 227 Go de différence, au cours de cette réponse.

Il n'y a pas une tonne d'informations de la tmutilfonction de base , mais vous pouvez appeler man tmutilpour obtenir plus de détails, en particulier sur 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.

Une omission notable est ce default urgencyqui est réellement et si 1 est une urgence élevée ou 4 est une urgence élevée.

Pour vous montrer ce qui se passe dans le monde réel, voici ma liste de départ d'instantanés locaux:

$ 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

Lors de l'exécution sans les options purge_amountet urgency, il est probable qu'aucun instantané local ne soit purgé:

$ tmutil thinlocalsnapshots /
Thinned local snapshots:

Avec un purge_amountréglage sur 1000000000(1 gigaoctet):

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

Et si je lance à nouveau:

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

Voici ce qui est arrivé à ma liste locale d'instantanés:

$ 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

Essayons d'exécuter cette même commande une fois de plus:

$ 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

Et encore:

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

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

Et encore une fois pour essayer de supprimer cet instantané local final:

$ tmutil thinlocalsnapshots / 1000000000
Thinned local snapshots:

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

Vous pouvez voir que cela n'a rien fait cette fois.

Essayons d'augmenter les octets à 10 Go:

$ tmutil thinlocalsnapshots / 10000000000
Thinned local snapshots:

Toujours rien. Essayons 100 Go:

$ tmutil thinlocalsnapshots / 100000000000
Thinned local snapshots:

Encore une fois, rien.

Ainsi, quand il arrive au dernier instantané local, il doit avoir à faire avec l' urgencyoption plutôt qu'avec purge_amount.

Revenons à seulement 1 Go pour le purge_amountmais essayons avec urgencyla valeur 1 (une autre omission dans le manuel est de savoir si 1 est élevé ou 4 ou élevé):

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

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

Succès!

Vous pouvez voir qu'il a éclairci le dernier instantané local restant et maintenant, lorsque listlocalsnapshotsvous ne verrez que le dernier mais il est marqué comme (dataless).

Je suis prêt à parier urgencyqu'être mis à 1 signifie "très urgent" et urgencyà 4 signifie "meh, à chaque fois".

Au cours de ces essais, mon disque dur est passé de ~ 50 Go à ~ 277 Go. Une libération d'environ 227 Go!

Je suppose que ces instantanés locaux s'aminciraient automatiquement, en particulier lorsqu'un espace supplémentaire est nécessaire, vous ne devriez donc pas trop vous en soucier.

Mais, je suis tombé sur cela parce que

  1. Je me demandais comment je perdais tout mon espace disque libre si soudainement, et;

  2. J'essayais de créer une partition Boot Camp pour exécuter Windows et je n'avais pas assez d'espace, même si la plupart de cet espace était simplement occupé par des instantanés locaux.

À l'avenir, je me demande si je devrais avoir un travail cron exécuter une commande d'éclaircissement toutes les semaines environ, juste pour garder les choses propres. Je verrai ce qui se passe après quelques jours de plus et ajouterai tout ce que je trouve ici.

Voici le site Apple pour plus d'informations sur l'utilisation des instantanés locaux de Time Machine:

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

Joshua Pinter
la source
J'ai récemment essayé de faire fonctionner diverses fonctions d'instantanés. Avez-vous remarqué, ou est-ce juste moi ... que les instantanés ont maintenant un suffixe am ou pm, ce qui semble casser la fonction de suppression?
Tetsujin
Aucune idée. Je ne sais pas non plus ce que vous entendez par «fonction de suppression».
Joshua Pinter
Désolé, trop de questions instantanées ouvertes en même temps;) Je voulais mettre cela sous apple.stackexchange.com/q/314038/85275
Tetsujin
2
Super article! Je n'ai rien trouvé d'autre sur Internet qui m'a permis de récupérer de l'espace. J'aime vraiment la façon dont vous avez expérimenté pour comprendre ce que les options signifient, puis documenté.
Andrew
@andrew Merci, Andrew! Je n'ai rien trouvé d'autre non plus, alors j'ai pensé que j'allais le traverser et vous emmener pour la balade. :)
Joshua Pinter
3

Les instantanés locaux sont destinés à utiliser Time Machine lorsqu'ils ne sont pas connectés à votre lecteur Time Machine. Ils ne durent que 24 heures. Vous ne devriez donc pas avoir à les effacer. C'est du moins ce que prétend Apple. L'espace libre ne semble pas être systématiquement signalé dans le système d'exploitation. À certains endroits, il montre que les instantanés occupent de l'espace réel, à d'autres endroits, il est montré comme purgable. Les applications pensent que cela prend de la place réelle et que cela peut causer des problèmes.

Jason F
la source
3
"C'est du moins ce que prétend Apple." Il y a le piège.
Joshua Pinter
3
Presque toujours, si je manque d'espace ou si je manque d'espace, quand j'en ai besoin, l'espace n'est MAINTENANT pas dans 24 heures!
Victor Engel
1
tmutil listlocalsnapshotdates /rapporte un instantané du 02-01-2019. "C'est du moins ce que prétend Apple."
Julian F. Weinert