Dealing with Time Machine snapshots

Is it normal for my external SSD boot drive to completely fill up with Time Machine snapshots? I can’t help but think this is slowing my entire system down. Does this happen to all boot drives, even internal ones?

I had read that turning Time Machine off would clear them out, but I did that for a few hours yesterday and nothing changed.

TIA

“Completely fill up”? No. There should be at most 24 snapshots - one for each hourly backup made by Time Machine. Then as new backups are made, the oldest snapshots should be deleted.

Each snapshot will share storage (on a per-disk-block basis) with the other 23 snapshots and the live file system.

If you would let the system sit for 24 hours with no activity, you would find the snapshots consuming virtually no storage, because they would all be a snapshot of the live file system, sharing all of its blocks.

  • If you add a file, its blocks will go into the live file system and will then propagate to the 24 snapshots (one per hour, as TM runs).
  • When you delete a file, its blocks will come out of the live file system, but they will remain used by the snapshots that hold the file. This will be at least the most recent snapshot, unless the file was created after the last TM backup ran. The blocks will propagate down through the snapshots as it ages out, and will be released as free space when the last of the snapshots is deleted (about 24 hours later)
  • When you edit a file, the behavior is like both of the above. Any blocks that have changed (which might be the entire file, depending on how the app editing the file saves its content) will propagate through the backups. The ones with the new (newly-saved) data will be added to each snapshot and the ones with the old (overwritten) data will be removed from each snapshot. The whole process will reach equillibrium 24 hours later.

Can TM snapshots fill all your free space? Yes. If you create a huge file (or a huge block of files), and then delete it (them) after TM runs, the blocks used by the file(s) will not actually be freed for 24 hours, because the TM snapshots will hold on to the blocks until those snapshots expire.

Why do you believe that your storage is being filled by the TM snapshots and not by something else? If you are running a tool to get this information, please share its output, if you can.

And yes, local snapshots and the related behavior is part of Time Machine’s behavior. It will happen on the boot device, no matter what kind of storage it may be.

If necessary, you can explicitly delete the TM snapshots.

It’s also worth noting that other backup systems (e.g. Carbon Copy Cloner) also use local snapshots. TM won’t make any attempt to delete these, since it didn’t create them. If you have non-TM snapshots, you should investigate whether the app that creates them provides tools for managing them. (CCC, for example, provides a tool to manually delete snapshots of all kinds and has a configurable retention policy for auto-deleting the snapshots it creates.)

2 Likes

That was the issue I raised in Tidbits talk thread: the Time Machine ate my hard drive space!

I’ve still not figured out how to delete the snapshots that were probably put on my hard drive that made my new TM drive useless. Hope you get some answers here.

The Monterey Disk Utility shows all the Snapshots on the disk, and apparently would let you delete some, but the sizes listed are confusing, and I haven’t yet been brave enough to try deleting any. I set CCC to leave a certain amount of free space, but the the TM snapshots grew to take up most of the space, and now the CCC ones are gone.

I don’t understand why all these snapshots are left cluttering up the boot disk when they’re all supposed to be written to the Time Machine drive anyway?

1 Like

In case you need them when away from your Time Machine volumes. Mostly applies to portable users who travel.

It’s my iMac on my desk. It’s not going anywhere!

Also consider that the hourly snapshots are left on the source disks for faster restore. That’s a benefit when you have either a HDD or network disk for your Time Machine backup media.

MacOS is supposed to expire local Time Machine snapshots “early” if the file system needs the space. You can force this behavior with tmutil thinlocalbackups .