4

I have automatic backup enabled and local TimeMachine snapshots take a large amount of disk space. This space is listed as purgeable in disk info, but cannot be actually used until the system decides to free it up. How can I force TimeMachine to delete those snapshots?

  • 1
    Welcome the AskDifferent. While it's perfectly fine to post both the question and the answer, please make sure that the question actually reads like a question, e.g. starts with the problem to be solved, actually contains a question, explains why tmutil thinlocalsnapshots is not what you are looking for etc. – nohillside Oct 28 '18 at 12:35
  • The thin command is so directly addressing this need I’ll link to that question in a specific answer to the question of freeing up space “taken” by these. Note, the system purges these automatically so there is no need to free up this space – bmike Oct 28 '18 at 19:56
  • @bmike in my case, I needed to free the space in advance, because a software installer wouldn't let me to run an installation unless there is 50GB of free disk space. I guess thinlocalsnapshots would work as weel. – Martin Oct 29 '18 at 8:50
  • +1 for that reason. I wouldn't expect many installers to check purgeable space and trust that once it started it would free up faster than it wrote. Glad you have a couple options. – bmike Oct 29 '18 at 11:39
5

In Terminal, execute this small script:

for d in $(tmutil listlocalsnapshotdates); do sudo tmutil deletelocalsnapshots $d; done

The script lists all snaphosts and deletes all of them in a loop.

  • 2
    Works fine! It will return parsing errors for the first bit returned by listlocalsnapshotdates though. – Nibor Ndj Feb 10 at 0:45
2

If you’re not running low on disk space (5 GB free) - just let this space be allocated as there is no downside to waiting to purge files until you need space.

That being said, if you decide to preemptively delete backups, I prefer to tell the system to free up space. If you know you have 50 GB amount to free, change the 5 below to 50 and then the system will iterate across all the local snapshots and prune them in the order defined by the system.

tmutil thinlocalsnapshots / $(echo "5 * 1000000000" | bc) 2

The only iteration I would do is to see how many APFS volumes you have and then perhaps thin any that are mounted.

Here’s a nice thread explaining the urgency - 2 works well for my needs, but the manual page explains there are 4 levels of urgency, so if you have specific needs, watch the IO and performance during thinning and experiment with smaller snapshots to thin.

0

I found by accident that opening the "Storage administration" windows (Cmd-U) in "System Information" released the local time machine snapshots making the space available.

I do not know if this is an officially supported way.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .