Mac
What 'System Data' is and why it's huge on Mac
What the 'System Data' (or 'Other') storage category on a Mac actually contains — snapshots, caches, Mail, Messages, iOS backups, Xcode, Docker — and how to find and reclaim it natively, without a cleaner app.
What 'System Data' is actually made of
Reference images and diagrams. Click any image to view full resolution.

Problem summary
I'm here because 'System Data' (older macOS called it 'Other') is eating a huge chunk of my Mac's storage — sometimes tens or even hundreds of gigabytes — and I can't see what's in it or how to clear it. System Data isn't one thing; it's the catch-all bucket for everything macOS doesn't file under Apps, Photos, Mail, or Messages. This page breaks down what's actually in there, in the order it's usually biggest, and shows you how to find and reclaim each part natively — no 'cleaner' app, which is exactly the wrong tool here.
Run `df -h /` vs Finder free space, then `tmutil listlocalsnapshots /`.
df -h / ; tmutil listlocalsnapshots /
A big df/Finder gap with snapshots listed means local snapshots are the largest part of System Data.
Don't clear a cache an app is actively writing — do it when idle.
Layer path
Step-by-step runbook
Start here. Do each check in order, compare it to the expected result, and stop when the evidence explains the failure or the safe stop point applies.
Reclaim snapshots first
Check: Check df vs Finder and `tmutil listlocalsnapshots /`; thin/clear snapshots if present.
Expected result: The most common single cause of huge System Data is removed.
If not: If no snapshots, move straight to the category breakdown.
Read the native breakdown
Check: Open System Settings → General → Storage and let it finish calculating.
Expected result: You can see what the labelled categories claim vs the System Data residual.
If not: Don't act on a half-calculated bar.
Clear the safe big buckets
Check: Trim oversized caches, Mail/Messages attachments, old iOS backups, Xcode DerivedData, and Docker images.
Expected result: Each reclaimed bucket drops the System Data number measurably.
If not: Never blind-delete `~/Library/Containers` or `Application Support` — those hold real app data.
Hunt anything missed
Check: Run `sudo du -x -d1 -h /` and drill into the largest directories.
Expected result: Any remaining large reclaimable folder is found and attributed.
If not: If nothing big remains, the rest is legitimate OS files.
Stop at baseline
Check: Re-measure with df and Storage settings.
Expected result: System Data sits at a normal 10–40 GB of OS and support files.
If not: Stop deleting — chasing the residue risks removing system files macOS needs.
Decision tree
If: df shows far less free than Finder and snapshots are listed.
Then: Local snapshots are the dominant part of System Data.
Action: Reclaim them via the snapshots runbook (thin / set TM Manually); re-measure before anything else.
If: One cache folder is several GB.
Then: An app's cache (browser, build tool, streaming) inflating System Data.
Action: Quit the app and delete the cache contents (not the folder); it rebuilds.
Safe stop: Don't clear a cache an app is actively writing — do it when idle.
If: A 50–100+ GB chunk traces to MobileSync/Backup or Xcode.
Then: Old iOS device backups or Xcode DerivedData/simulators/device-support.
Action: Delete old backups via Finder; clear DerivedData and run `xcrun simctl delete unavailable`.
If: Tens of GB trace to Docker or a VM.
Then: A grown Docker.raw / VM disk holding dead layers and unused images.
Action: Use Docker Desktop Purge/`docker system prune -a`; compact or delete unused VM disks.
If: System Data is still large after all of the above.
Then: Either a missed large folder or legitimate OS residue.
Action: Sort the disk with `sudo du -x -d1 -h /`; if nothing big remains, accept the OS baseline and stop.
Evidence table
| Symptom | Evidence to collect | Likely layer | Next action |
|---|---|---|---|
| System Data is tens/hundreds of GB; deleted files didn't help. | `df -h /` << Finder free; `tmutil listlocalsnapshots /` lists snapshots. | APFS local snapshots. | Reclaim snapshots first (snapshots runbook), then re-measure. |
| System Data large; df matches Finder. | `du -sh ~/Library/Caches/*` shows multi-GB cache folders. | Oversized app/system caches. | Clear the big caches' contents with their apps quit. |
| A huge single chunk on a developer's or iPhone-owner's Mac. | Large `MobileSync/Backup` or `Developer/Xcode/DerivedData`. | Old device backups / Xcode data. | Delete old backups; clear DerivedData; remove unavailable simulators. |
| Big, unexplained bucket on a Docker/VM user's Mac. | `Docker.raw` / VM disk image is tens of GB. | Grown container/VM disk image. | Prune Docker; compact or delete unused VM disks. |
| System Data sits at 10–40 GB after cleanup. | `du -x` finds no large reclaimable folder. | Legitimate OS files (swap, sleep image, logs, indexes). | Stop — this is normal and should not be hand-deleted. |
Commands and settings paths
Spot snapshot-held space behind System Data
df -h / ; tmutil listlocalsnapshots /
Where: Terminal on the Mac.
Expected: A df/Finder gap plus listed snapshots = local snapshots are the big chunk.
Failure means: No gap / no snapshots means the bulk is real files.
Safe next step: Reclaim snapshots first; otherwise attribute to caches/backups/Docker.
Find the largest caches
du -sh ~/Library/Caches/* | sort -h | tail
Where: Terminal on the Mac.
Expected: Lists the biggest per-app cache folders so you can target them.
Failure means: If all are small, caches aren't the cause.
Safe next step: Quit the owning app and clear the large cache's contents.
Find the single biggest directories anywhere
sudo du -x -d1 -h / 2>/dev/null | sort -h | tail -20
Where: Terminal on the Mac (admin password required).
Expected: Surfaces the largest top-level directories, catching anything the category view hides.
Failure means: If nothing large remains, the rest is legitimate OS residue.
Safe next step: Drill in with `du -d1 -h <dir>` on the biggest entries.
Reclaim a grown Docker disk image
docker system prune -a
Where: Terminal on the Mac, with Docker running (or use Docker Desktop → Troubleshoot → Purge data).
Expected: Removes unused images/layers/containers so the disk image can shrink.
Failure means: If space doesn't return, the .raw file may need compacting/recreating in Docker Desktop.
Safe next step: Compact via Docker Desktop settings, or delete and let it recreate if you don't need the data.
Hardware and platform boundary
Change only when
- Size the internal disk for your workload on your next Mac if you routinely run Docker, VMs, Xcode, or large media — Apple Silicon storage isn't user-upgradeable.
- Add an external/NAS Time Machine destination so most backup history lives off the internal disk and local snapshots stay small.
Evidence that matters
- Internal storage capacity at purchase, because it can't be expanded later.
- Whether your real workload generates large recurring data (containers, simulators, device backups).
- A real off-device backup so local snapshots can be reclaimed safely.
Evidence that does not matter
- Finder's free-space figure — it counts purgeable space as free.
- A cleaner app's 'junk found' number — it inflates categories and overstates safe-to-delete space.
- The exact System Data figure to the gigabyte — a 10–40 GB OS baseline is normal and varies.
Avoid
- Cleaner / storage-optimizer apps — they purge managed caches and can delete real data.
- Hand-deleting swap, the sleep image, or the Spotlight index to shrink the number.
- Blindly emptying `~/Library/Containers` or `Application Support` — that erases app settings and documents.
Related tool/checklist
Use the linked tool when you need a guided plan from your exact symptoms instead of a static checklist.
Backup plan builderLast reviewed
2026-06-02 · Reviewed by HomeTechOps. Reviewed against Apple's 'free up storage' and APFS local-snapshot documentation; frames System Data as a residual category to attribute (snapshots → caches → Mail/Messages → iOS backups → Xcode → Docker → legitimate OS residue) using only native tools, and is explicit that cleaner apps are the wrong tool because they purge managed caches and risk real data.
Sources/assumptions
- Assumes a modern APFS Mac (including macOS Tahoe / macOS 26) where 'System Data' is the Storage settings catch-all for uncategorised files.
- Folder paths follow Apple's standard Library layout; exact sizes vary entirely by usage (developer, heavy mail user, Docker user, etc.).
- Docker/VM specifics follow current Docker Desktop behaviour; the disk image grows and must be pruned or compacted to return space.
Source-backed checks
HomeTechOps turns official docs and conservative safety rules into a shorter runbook. These links are the source trail for the page direction.