{"id":53035,"date":"2026-08-28T14:47:29","date_gmt":"2026-08-28T18:47:29","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=53035"},"modified":"2026-09-09T10:56:54","modified_gmt":"2026-09-09T14:56:54","slug":"arent-snapshots-purgeable","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2026\/08\/28\/arent-snapshots-purgeable\/","title":{"rendered":"Aren&rsquo;t Snapshots Purgeable?"},"content":{"rendered":"<p><a href=\"https:\/\/eclecticlight.co\/2026\/08\/24\/arent-snapshots-purgeable\/\">Howard Oakley<\/a>:<\/p>\n<blockquote cite=\"https:\/\/eclecticlight.co\/2026\/08\/24\/arent-snapshots-purgeable\/\">\n<p>Since High Sierra and APFS snapshots, accounting for purgeable space has been inconsistent and often misleading. I first <a href=\"https:\/\/eclecticlight.co\/2018\/02\/03\/do-sierra-or-high-sierra-report-incorrect-free-disk-space\/\">reported this<\/a> over eight years ago in Sierra 10.12.6 and High Sierra 10.13.3, and most recently <a href=\"https:\/\/eclecticlight.co\/2023\/04\/17\/the-finder-confuses-with-wildly-inaccurate-figures-for-available-space\/\">three years ago<\/a> in Ventura 13.3.1. This article looks at how this is handled now in Tahoe 26.6.2.<\/p>\n<p>[&#8230;]<\/p>\n<p>There is disappointingly little documentation on space management in macOS, and the closest Apple comes to defining purgeable space is in Disk Utility&rsquo;s <a href=\"https:\/\/support.apple.com\/guide\/disk-utility\/dskutl1005\/mac\">Help pages<\/a>, where it&rsquo;s stated to be &ldquo;space that macOS can free up when needed by removing files from your computer (you can&rsquo;t manually remove the files that are designated purgeable, but macOS removes them as space is required)&rdquo;.<\/p>\n<p>On the face of it, that includes cache files but not snapshots, as they can be manually removed in Disk Utility, as I&rsquo;ve discussed <a href=\"https:\/\/eclecticlight.co\/2023\/04\/15\/what-is-purgeable-disk-space\/\">in detail here<\/a>. This is contradicted when using <code>tmutil localsnapshot<\/code> to make Time Machine snapshots, which reports that &ldquo;local snapshots are considered purgeable and may be removed at any time by deleted(8)&rdquo;, as <code>deleted<\/code> is the purgeable space and cache management service in macOS.<\/p>\n<p>APFS snapshots can also be created by third-party apps that have the appropriate restricted entitlement. Apple doesn&rsquo;t explain whether those too can be purged by macOS when additional free space is required.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/eclecticlight.co\/2026\/08\/27\/why-can-purging-snapshots-fail\/\">Howard Oakley<\/a>:<\/p>\n<blockquote cite=\"https:\/\/eclecticlight.co\/2026\/08\/27\/why-can-purging-snapshots-fail\/\">\n<p>Before macOS will start copying a file to a volume, it checks whether there&rsquo;s sufficient free space available. I believe this is normally performed by the <a href=\"https:\/\/developer.apple.com\/documentation\/foundation\/nsfilecoordinator\">FileCoordinator API<\/a> in Foundation, and appears in the log with the subsystem com.apple.foundation.filecoordination.<\/p>\n<p>If there isn&rsquo;t sufficient free space to accommodate the file to be copied, <code>deleted<\/code> in the subsystem com.apple.cache_delete checks whether enough space can be freed by purging items known to be purgeable in the destination volume. <code>deleted<\/code> has a fixed set of services that can be called on to purge items, listed in \/System\/Library\/CacheDelete.<\/p>\n<p>[&#8230;]<\/p>\n<p>Space-based purging of Time Machine local snapshots is unreliable. The reason for this is that Time Machine CacheDelete fails to report purgeable space when it&rsquo;s available. Even when it does work, it can take nearly half an hour for Time Machine CacheDelete to recognise the appearance of purgeable space.<\/p>\n<\/blockquote>\n\n<p>Sometimes you need to do it yourself with Disk Utility.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2026\/08\/13\/superduper-4\/\">SuperDuper 4<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/08\/19\/tahoe-free-space-problems\/\">Tahoe Free Space Problems<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/03\/10\/purgeable-disk-space\/\">Purgeable Disk Space<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/07\/28\/purgeable-mac-apps\/\">Purgeable Mac Apps<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/05\/18\/time-machine-evolution-and-apfs\/\">Time Machine Evolution and APFS<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2020\/02\/26\/what-you-see-in-the-finder-should-always-be-correct\/\">What You See in the Finder Should Always Be Correct<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/04\/11\/quantum-computing-and-apfs-free-and-used-space\/\">Quantum Computing and APFS: Free and Used Space<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2018\/12\/06\/how-omnidisksweeper-reports-free-space\/\">How OmniDiskSweeper Reports Free Space<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2017\/11\/13\/local-time-machine-uses-apfs-snapshots\/\">Local Time Machine Uses APFS Snapshots<\/a><\/li>\n<\/ul>\n\n<p id=\"arent-snapshots-purgeable-update-2026-09-03\">Update (<a href=\"#arent-snapshots-purgeable-update-2026-09-03\">2026-09-03<\/a>): <a href=\"https:\/\/eclecticlight.co\/2026\/09\/02\/caches-and-purging-in-macos-tahoe\/\">Howard Oakley<\/a>:<\/p>\n<blockquote cite=\"https:\/\/eclecticlight.co\/2026\/09\/02\/caches-and-purging-in-macos-tahoe\/\">\n<ul><li>When purgeable space is required, <code>deleted<\/code> (subsystem com.apple.cache_delete) first discovers purgeable space for each caching service, to determine whether it&rsquo;s sufficient.<\/li>\n<li>If it is, and the decision is taken to purge caches, caching services are called on to free up space by purging their caches as required.<\/li>\n<li>Purging may then take place in phases until sufficient space has been freed.<\/li>\n<li>Purging is frequent during installation of macOS updates, even when there&rsquo;s ample free space available.<\/li>\n<\/ul>\n<\/blockquote>\n\n<p id=\"arent-snapshots-purgeable-update-2026-09-08\">Update (<a href=\"#arent-snapshots-purgeable-update-2026-09-08\">2026-09-08<\/a>): <a href=\"https:\/\/eclecticlight.co\/2026\/09\/07\/what-happens-when-a-macs-boot-volumes-run-out-of-space\/\">Howard Oakley<\/a>:<\/p>\n<blockquote cite=\"https:\/\/eclecticlight.co\/2026\/09\/07\/what-happens-when-a-macs-boot-volumes-run-out-of-space\/\">\n<p>In the event that you&rsquo;re caught out by circumstances, such as the combination of recent large snapshots and exceptionally large caches, macOS does try to manage as well as possible even when there&rsquo;s just a few GB free. But once free space falls to around 1 GB you should see a warning notification.<\/p>\n<p>[&#8230;]<\/p>\n<p>From then on, most file operations, even creating a new folder, will fail. That applies to all apps, regardless of whether they handle those failures gracefully and warn you of the error. Actions like taking a screenshot start normally, but after their image has floated across the display, they just vanish and can&rsquo;t be saved.<\/p>\n<p>[&#8230;]<\/p>\n<p>The worst combination of problems occurs when a Mac runs out of free disk space and physical memory at the same time. macOS memory management then wants to allocate space in the VM volume as its backing store for virtual memory, but in the absence of free space to do so, that fails and should propagate as a memory allocation error.<\/p>\n<\/blockquote>\n\n<p id=\"arent-snapshots-purgeable-update-2026-09-09\">Update (<a href=\"#arent-snapshots-purgeable-update-2026-09-09\">2026-09-09<\/a>): See also: <a href=\"https:\/\/atp.fm\/707\">Accidental Tech Podcast<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Howard Oakley: Since High Sierra and APFS snapshots, accounting for purgeable space has been inconsistent and often misleading. I first reported this over eight years ago in Sierra 10.12.6 and High Sierra 10.13.3, and most recently three years ago in Ventura 13.3.1. This article looks at how this is handled now in Tahoe 26.6.2. [&#8230;] [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2026-08-28T18:47:33Z","apple_news_api_id":"ce260e00-e380-442f-9e5c-39de0d55eaa0","apple_news_api_modified_at":"2026-09-09T14:56:59Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAg==","apple_news_api_share_url":"https:\/\/apple.news\/AziYOAOOARC-eXDneDVXqoA","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[1395,538,30,2742,174,216],"class_list":["post-53035","post","type-post","status-publish","format-standard","hentry","category-technology","tag-apple-file-system-apfs","tag-diskutility","tag-mac","tag-macos-tahoe-26","tag-storage","tag-timemachine"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/53035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=53035"}],"version-history":[{"count":4,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/53035\/revisions"}],"predecessor-version":[{"id":53133,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/53035\/revisions\/53133"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=53035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=53035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=53035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}