Why is my Mac's System Data so large?
Short answer. System Data is where macOS counts everything it can't put in another category: caches, logs, Time Machine local snapshots, virtual machine disks, developer files, downloaded updates, swap and app data. When it passes 100 GB, it's often one or two big things rather than lots of small ones, such as snapshots still holding files you deleted, a Docker or virtual machine disk, Xcode simulators, or a tool's cache. You can find them with Disk Utility and a few read-only Terminal commands, clear the parts you control, and leave macOS's own files alone.
What macOS counts as System Data
Apple describes System Data as files that don't fit the other categories in Storage settings, mostly ones the system uses, such as logs, caches and VM files, and says you can't manage it yourself (Apple). In practice the figure is worked out by subtraction: Storage settings adds up the categories it recognises and calls the rest System Data, as Eclectic Light explains. So anything macOS can't classify lands there, including space that's still held after you delete something.
What it usually contains:
| What | Where it usually lives | Can you remove it? |
|---|---|---|
| App caches | ~/Library/Caches |
Yes, with the app closed. It comes back. |
| Logs and crash reports | ~/Library/Logs |
Your own, yes. Leave system logs to macOS. |
| Time Machine local snapshots | Inside the disk, not in a folder | macOS removes them. You can delete Time Machine ones. |
| Virtual machines and Docker | Docker Desktop's disk image, UTM, Parallels | Yes, with the app's own tools. |
| Developer data | ~/Library/Developer |
Mostly, with care. |
| App containers | ~/Library/Containers, ~/Library/Group Containers |
Only from inside the app. This is the app's real data. |
| Cloud sync copies and caches | ~/Library/CloudStorage and app folders |
Through the sync app's settings. |
| Downloaded macOS updates and assets | System folders | No. macOS manages them. |
| Swap files (and a sleep image on some Macs) | /System/Volumes/VM |
No. A restart clears swap. |
Two things often blamed on System Data are counted elsewhere. Storage settings lists iPhone and iPad backups under iOS Files, where you can delete old ones. And in macOS 27 it lists Apple Intelligence under macOS (click the (i) next to it), not as part of System Data. We cover that in how much space Apple Intelligence takes.
Why it jumps, and what makes it 100 GB or more
A sudden jump usually comes from one of these:
- A macOS update. Updates download and get staged in the background, and Apple says macOS saves a snapshot before installing any macOS update (Apple). After the upgrade to macOS 27, used space on one Mac mini peaked about 150 GB higher a day later, then settled about 30 GB higher (Eclectic Light).
- You deleted something big. With Time Machine on, your Mac saves a local snapshot about every hour and keeps each for 24 hours. A file you delete stays inside those snapshots until they go, and that held space is often counted as System Data.
- Your backup drive has been away. Time Machine also keeps a snapshot of your last successful backup until space is needed. If your backup drive hasn't been connected for weeks, that snapshot can keep holding everything you've changed or deleted since.
- A virtual machine or Docker grew. Their disk images grow as you use them and don't always shrink when you delete things inside.
- Developer and AI tools. Each Xcode update can add simulator runtimes, builds pile up in DerivedData, and package managers, browser-testing tools and local AI models keep large caches. One developer reported 220 GB of System Data, much of it caches from AI apps, a Python package manager and browser-automation tools in
~/Library. - A sync app. iCloud Drive, Dropbox, Google Drive and OneDrive keep local copies and caches. A first sync, or a big folder set to stay on your Mac, can add tens of gigabytes at once.
- Swap. When apps need more memory than your Mac has, macOS writes the overflow to swap files, 1 GB at a time. On the MacBook Air M4 with 16 GB of memory this guide was written on, swap had reached about 9 GB after almost four days without a restart.
At 100 GB or 200 GB, it's often two or three of these together, say a Docker image, a few simulator runtimes and a day of snapshots. That's why one cleanup rarely moves the number much.
How to check each part yourself
Nothing in this section changes or removes anything.
Disk Utility: purgeable space
- Open Disk Utility from Applications > Utilities.
- Select your startup disk in the sidebar (usually Macintosh HD).
- Look at the figures under the bar. Purgeable, when shown, is space macOS can free when it needs it, including snapshots. If that's most of it, the fix is mostly waiting (see below).
Terminal: snapshots, folders and swap
Open Terminal from Applications > Utilities. These commands only read sizes. Terminal can't see some protected folders, such as Mail's and Messages', unless you allow it in System Settings > Privacy & Security > Full Disk Access, so totals may come out low. If you turn that on, turn it off when you're done.
tmutil listlocalsnapshots /
Lists the snapshots on your startup disk. Names like com.apple.TimeMachine.2026-10-08-093015.local are Time Machine's hourly snapshots. Names starting com.apple.os.update- belong to macOS updates; leave those alone. It doesn't show how much space each one holds.
du -sh ~/Library/* 2>/dev/null | sort -h | tail -15
Shows the 15 biggest folders in your Library, largest last. Look out for Caches, Containers, Group Containers, Developer and Application Support, then run it again on the biggest, for example with ~/Library/Containers/*.
du -sh ~/.[!.]* 2>/dev/null | sort -h | tail -10
Shows the hidden folders in your home folder, where many developer and AI tools keep caches and downloaded models (such as ~/.cache or ~/.ollama).
sysctl vm.swapusage
Shows how much swap is in use right now.
docker system df
If you use Docker (with Docker Desktop running), shows space used by images, containers, volumes and build cache, and how much is reclaimable.
sudo du -xh -d 1 /System/Volumes/Data 2>/dev/null | sort -h | tail -15
Lists the biggest top-level folders on your Mac's data volume, including those outside your home folder. It asks for your administrator password, still only reads, and can take several minutes. Run it again on a folder it names to drill down. Totals won't match Storage settings exactly, because of snapshots, compression and files that share space.
If you'd rather not use Terminal, DiskFox measures most of these locations and shows which part grew and when. What DiskFox shows about System Data explains what it can measure and what it can't (it counts Time Machine snapshots, for example, but macOS doesn't report their sizes).
What's safe to remove, and what comes back
Safe, but expect it back
- App caches. Quit the app. In Finder choose Go > Go to Folder, enter
~/Library/Caches, and drag that app's folder to the Trash. The app rebuilds what it needs, so this buys time rather than fixing anything. - Xcode DerivedData. Move
~/Library/Developer/Xcode/DerivedDatato the Trash the same way. Xcode rebuilds it, so your next build is slower. - One app's huge logs in
~/Library/Logs. If they keep growing, that app has a problem worth fixing.
Safe after a look
Old iPhone and iPad backups. In Storage settings, click the (i) next to iOS Files and delete backups of devices you no longer use. Keep the newest backup of any device you still own unless it's also backed up to iCloud.
Unavailable simulators. This deletes straight away, not to the Trash:
xcrun simctl delete unavailableIt removes simulator devices whose iOS version is no longer installed, so you couldn't run them anyway. Remove old simulator runtimes themselves from Xcode's settings.
Docker leftovers. This also deletes for good, so make sure no stopped container holds anything you need:
docker system pruneIt removes stopped containers, unused networks, dangling images and build cache, after asking you to confirm. The disk image file itself may not shrink straight away.
Virtual machines you no longer use. Delete them from inside UTM, Parallels or VirtualBox.
Xcode archives. Keep the ones for app versions you've released; you may need them to make sense of crash reports.
A Time Machine snapshot, if you need space right now. Deleting one is permanent: you can't restore from that hour unless the files are also on your backup drive.
sudo tmutil deletelocalsnapshots 2026-10-08-093015Replace the date with one from your
tmutil listlocalsnapshots /list. It asks for your administrator password. Only use it oncom.apple.TimeMachinesnapshots.
Leave alone
- Anything in
/Systemor/private/var, including/private/var/folders. - Downloaded macOS updates and other macOS assets, swap files and the sleep image, update snapshots, and the Apple Intelligence models.
- Containers of apps you still use. Deleting one wipes that app's data, which for a chat app can mean your message history.
sudo rmcommands copied from forums. One wrong path can stop your Mac starting up.
When to just wait
- After a macOS update, give it a day or two before you start deleting things.
- After deleting big files with Time Machine on, allow up to 24 hours for the snapshots holding them to go. Connect your backup drive and let a backup finish, so the last-backup snapshot can move on too.
- Purgeable space is freed when something needs the room, and Apple says macOS clears safe caches, logs, interrupted downloads and staged updates when space runs low (Apple). It isn't always freed promptly, and Finder and Storage settings may not count it as available (Eclectic Light), so check Disk Utility.
- Swap clears when you restart.
What to do next
- Check purgeable space and snapshots first. If that's most of it, wait a day.
- Use the
ducommands to find the one or two folders that matter, and clear them with the app's own tools or the Trash. - Look again in a few days. If it's back, something is regrowing: see why your Mac's storage keeps filling up. If the space is in your own files, see what's taking up space on your Mac.