How to clear System Data on a Mac
Last updated 17 October 2026
Open System Settings, go to General, then Storage, and there's often a large grey bar called System Data that you can't click into. It isn't one thing. It's everything macOS couldn't fit into its other categories, and most of it is either temporary or rebuilt on demand. Here's what's usually inside and how to shrink each part without breaking anything.
What's usually in System Data
- Caches that apps keep in
~/Library/Cachesand rebuild when needed. - Local Time Machine snapshots, which macOS keeps between backups and removes on its own when space runs low.
- Virtual memory swap files and the sleep image in
/private/var/vm. - Developer data: Xcode's DerivedData, simulators and device support files.
- Docker Desktop's virtual disk, if you use Docker.
- Package manager caches for Homebrew, npm, pnpm, pip and others.
- Logs, including the transcripts that AI coding agents keep.
None of these show up with a friendly name in Storage settings, which is why the number feels opaque. The steps below go roughly from safest to most involved.
1. Restart your Mac
Swap files grow while apps are running and are recreated from scratch after a restart. If you haven't restarted in weeks, this alone can return several gigabytes.
2. Check local Time Machine snapshots
List the snapshots on your startup disk:
tmutil listlocalsnapshots /macOS deletes these automatically when it needs the space, so you rarely have to. If one is clearly stale, you can remove it by its date:
sudo tmutil deletelocalsnapshots 2026-10-01-1015003. Clear developer build data
Xcode's DerivedData folder holds build products and indexes. It's safe to delete and rebuilds on your next build:
rm -rf ~/Library/Developer/Xcode/DerivedData/*Remove simulators for runtimes you no longer have installed with Xcode's own command:
xcrun simctl delete unavailableOld folders in ~/Library/Developer/Xcode/iOS DeviceSupport are only needed for debugging devices on those iOS versions; Xcode downloads them again if you plug such a device in.
4. Let package managers clean their own caches
Each tool has a command that knows what's safe to remove:
- Homebrew:
brew cleanup - pnpm:
pnpm store prune - pip:
pip cache purge - uv:
uv cache clean - Go:
go clean -modcache
Old node_modules folders in projects you haven't opened for a while are also fair game: they come back with npm install.
5. Docker and local AI models
If you use Docker Desktop or run models locally, these are often the largest single items. They have their own guides: Docker filling your Mac's disk and deleting Ollama models.
What to leave alone
- Anything in
/System, and/private/varbeyond the swap files mentioned above. macOS protects most of it anyway. ~/Library/Application Supportas a whole: apps keep settings and data there, not just caches.- Your Photos library. Manage it from inside Photos.
- Caches of apps that are running. Quit the app first.
Where DiskCity fits
DiskCity is in development. Its scan splits System Data into the parts above (snapshots, purgeable space, caches, swap and iOS backups) and labels every item it recognises with how it comes back. Rebuildable items are removed through each tool's own command where one exists, and personal files go to a Recycling Yard for 30 days instead of being deleted. You can join the waitlist to hear when it launches.