If you own a MacBook with a 256GB or 512GB SSD, running a proper disk usage scan on your Mac is more than a one-off fix — it is the foundation of keeping a small drive usable long-term. macOS does not surface the real picture automatically: System Settings shows broad categories, and Finder only reports what it can see. This guide walks through every layer of a full disk scan, the categories that fill up fastest on tight-storage Macs, and a repeatable monthly routine to stay ahead of the problem.
Why Small-SSD Macs Need a Different Approach
A 256GB or 512GB SSD sounds like plenty — until macOS itself claims 15–20 GB, the recovery partition takes another slice, and everyday use starts stacking up. What makes small ssd mac storage management especially difficult is that a meaningful chunk of "used" space is not your files at all. It is purgeable data, Time Machine local snapshots, abandoned app leftovers, and caches that macOS never proactively removes.
The categories that fill a small SSD fastest are usually not the obvious ones:
- System Data / purgeable space — iCloud-optimized files downloaded locally, cached OS content, and space the system marks as reclaimable but holds onto
- Developer caches —
~/Library/Developer/Xcode/DerivedDataand~/Library/Developer/CoreSimulator/Devicescan each reach 10–50 GB on a machine that has run Xcode even casually - App caches —
~/Library/Cachesaccumulates silently; Slack, Chrome, Spotify, and Electron-based apps are frequent offenders - Application Support orphans —
~/Library/Application Supportretains data from apps you deleted months ago - Log files —
~/Library/Logsand/var/loggrow steadily and are rarely cleared automatically - iOS and iPadOS backups — stored in
~/Library/Application Support/MobileSync/Backup, a single iPhone backup can exceed 10 GB - Temporary files — written to
/private/var/foldersand/tmp; should self-clean but often do not on drives that are rarely restarted
How to Scan Disk Usage on Your Mac: Step by Step
A complete disk scan has two phases: a quick overview to see broad categories, then a deep dive into the paths that matter most.
Phase 1 — Get the Broad Picture
- Open System Settings → General → Storage (macOS 13 Ventura and later) or System Preferences → Storage (macOS 12 Monterey). Wait for the bar to finish populating — it can take 30–60 seconds on a busy drive.
- Note the size of the System Data category. On a healthy 256GB machine with no developer tools, this should be under 15 GB. Much larger usually means local Time Machine snapshots or uncollected purgeable data.
- Click the Info (i) icon next to any category to drill into its subcategories. "Applications" and "Documents" are where macOS groups most user-accessible files.
The built-in view gives you a starting point but deliberately hides granular paths. For a real scan you need Terminal or a dedicated tool.
Phase 2 — Deep Scan with Terminal
The du command (disk usage) is the most accurate way to measure what each folder actually occupies on disk, accounting for APFS compression and hard links. Run each command in Terminal (Applications → Utilities → Terminal).
List the top consumers in your home Library:
du -sh ~/Library/* 2>/dev/null | sort -rh | head -20
Check user-level caches specifically:
du -sh ~/Library/Caches/* 2>/dev/null | sort -rh | head -20
Check developer data (safe to examine; do not delete blindly):
du -sh ~/Library/Developer/* 2>/dev/null | sort -rh
Scan system-level caches (requires your password):
sudo du -sh /Library/Caches/* 2>/dev/null | sort -rh | head -10
Check how much is in the Trash (counts toward "used" until emptied):
du -sh ~/.Trash/
List local Time Machine snapshots:
tmutil listlocalsnapshots /
These commands give you actual sizes for each path. Note anything that surprises you before taking any action.
What Each Category Actually Means
Before you delete anything from a disk scan, understand what you are looking at. Cleaning is permanent — there is no undo once something leaves the Trash.
| Path | What it contains | Safe to delete? |
|---|---|---|
~/Library/Caches |
Per-app cache files; rebuilt automatically on next launch | Generally yes — quit all apps first |
~/Library/Logs |
App and system diagnostic logs | Yes — safe to clear; only needed for troubleshooting |
~/Library/Developer/Xcode/DerivedData |
Xcode build artifacts; rebuilt when you next open a project | Yes — Xcode regenerates on demand |
~/Library/Developer/CoreSimulator/Devices |
iOS Simulator disk images | Yes for simulators you no longer use; delete unused ones via Xcode → Settings → Platforms |
~/Library/Application Support/MobileSync/Backup |
Local iPhone/iPad backups | Yes if you have iCloud Backup enabled and do not need the local copy |
~/Library/Application Support |
App data, saved state, preferences, databases | Caution — only delete subfolders for apps you have already uninstalled |
/Library/Caches |
System-wide caches; some managed by macOS | Only clear known-safe subfolders (e.g. com.apple.iconservices*); do not delete wholesale |
| Local Time Machine snapshots | Point-in-time recovery data stored on the internal SSD | Safe if you have a current external backup; use tmutil deletelocalsnapshots |
Recovering Space After the Scan
Once you know where the space is going, here is the order of operations that gives the best results with the lowest risk on a macbook 256gb storage full or tight 512gb drive.
1. Force-flush purgeable space
macOS's APFS purge mechanism does not always run automatically when you want it to. Triggering it manually often recovers several gigabytes without touching any real files:
diskutil secureErase freespace 0 /
This command tells diskutil to zero-fill free space, which forces APFS to convert all purgeable blocks to genuinely free space first. It takes 5–20 minutes on a 256GB drive and is entirely non-destructive. You can also trigger a lighter pass by simply opening System Settings → General → Storage and letting the recommendations panel load.
2. Delete local Time Machine snapshots
If tmutil listlocalsnapshots / shows several entries, delete them one by one:
tmutil deletelocalsnapshots YYYY-MM-DD-HHMMSS
Replace the date-time string with each entry shown. Only do this if you have an up-to-date external or network Time Machine backup — you will lose the ability to restore files from those specific snapshots.
3. Clear user caches for the biggest offenders
After quitting all open applications:
open ~/Library/Caches
This opens the folder in Finder. Sort by size, identify the largest per-app folders, and move only the ones you recognise to Trash. Avoid deleting folders you cannot identify — some store license data or important state. For apps you use daily, their caches will simply rebuild the next time they run.
4. Remove Xcode derived data and unused simulators
If your scan revealed a large DerivedData folder:
rm -rf ~/Library/Developer/Xcode/DerivedData
Xcode will regenerate this folder the next time you build a project. For simulators, open Xcode → Settings (or Preferences) → Platforms and delete any iOS runtime you no longer need — these are typically 6–10 GB each.
5. Properly uninstall apps and their leftovers
Dragging an app to Trash removes the .app bundle but not the support files in ~/Library/Application Support, ~/Library/Caches, ~/Library/Preferences, and ~/Library/Containers. For a free up space 512gb macbook or 256gb drive, these orphaned files quietly accumulate GB over months. Tracking them down manually requires cross-referencing each app bundle identifier against every Library subfolder — tedious but accurate.
Building a Monthly Scan Routine
A one-time scan helps, but small-SSD management requires a recurring habit. Here is a routine that takes under ten minutes once a month:
- Week 1: Run
du -sh ~/Library/Caches/* 2>/dev/null | sort -rh | head -10and clear the top two or three folders for apps you use regularly. - Week 2: Open System Settings → General → Storage and check whether System Data has grown. If it exceeds your baseline, run
tmutil listlocalsnapshots /and clean up old snapshots. - Week 3: Check for any apps you installed but no longer use and uninstall them — including their Library folders.
- Week 4 (the full audit): Run a whole-Mac scan to catch anything the lighter passes missed. Crumb's Visualize tab does this with a disk treemap that maps every folder by size, including System Data internals and the largest items across your whole drive. The whole-Mac audit mode also covers other user accounts on the same machine, which the built-in Storage view omits entirely. If you prefer the command line,
ncdu(installable via Homebrew) gives a fast interactive view:brew install ncdu && ncdu ~.
When the Manual Approach Gets Tedious
The Terminal commands above are accurate, but running them every month and then manually navigating Finder to act on the results is friction most people will skip. For a recurring workflow on a constrained drive, a tool that combines scanning and safe cleanup in one place is worth considering.
Download Crumb if you want a native macOS app that runs the whole-Mac audit automatically, shows a treemap of your disk, and lets you clean caches, logs, temp files, and uninstall apps with their leftovers in one pass. The free tier includes one cleanup so you can see what it finds before paying anything. It is Apple-notarized, requires no account, and does all analysis on-device.
Whether you use Terminal, a dedicated app, or a combination, the key habit is the same: scan first, understand what you are looking at, then act. On a 256GB or 512GB SSD, that discipline is what separates a Mac that stays usable from one that hits the full-storage wall every few months.