Disk analysis & visualization

How to Scan Disk Usage on a Mac with a 256GB or 512GB SSD

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/DerivedData and ~/Library/Developer/CoreSimulator/Devices can each reach 10–50 GB on a machine that has run Xcode even casually
  • App caches~/Library/Caches accumulates silently; Slack, Chrome, Spotify, and Electron-based apps are frequent offenders
  • Application Support orphans~/Library/Application Support retains data from apps you deleted months ago
  • Log files~/Library/Logs and /var/log grow 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/folders and /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

  1. 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.
  2. 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.
  3. 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:

  1. Week 1: Run du -sh ~/Library/Caches/* 2>/dev/null | sort -rh | head -10 and clear the top two or three folders for apps you use regularly.
  2. 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.
  3. Week 3: Check for any apps you installed but no longer use and uninstall them — including their Library folders.
  4. 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.

Frequently Asked Questions

Reclaim your disk in one click

Crumb audits your whole Mac, tells you what's safe to delete, and frees the space in seconds — private, local, and Apple-notarized.

Download Crumb for macOS

Frequently asked questions

What is the fastest way to scan disk usage on a Mac?
The fastest built-in method is opening System Settings → General → Storage, which gives a category-level overview in under a minute. For granular path-level data, run 'du -sh ~/Library/* 2>/dev/null | sort -rh | head -20' in Terminal — it shows actual sizes for every folder under your home Library and completes in seconds on most drives.
Why does my 256GB MacBook show storage almost full when I haven't added much?
The most common culprits are purgeable space (iCloud-cached files macOS is holding but hasn't freed yet), local Time Machine snapshots stored on the internal SSD, and accumulated app caches in ~/Library/Caches. None of these are visible in Finder. Opening System Settings → General → Storage or running a Terminal du scan usually reveals the cause.
Is it safe to delete the entire ~/Library/Caches folder on macOS?
Deleting the entire folder at once is riskier than deleting specific subfolders. The per-app cache folders (e.g. ~/Library/Caches/com.apple.Music) rebuild automatically, but a handful of subfolders hold license keys, token data, or other state that won't regenerate cleanly. A safer approach is to quit all apps, sort the Caches folder by size, and delete only the largest per-app folders you can identify.
How do I check if I have local Time Machine snapshots taking up space?
Open Terminal and run 'tmutil listlocalsnapshots /'. Each line is a local snapshot stored on your SSD. On a drive that is almost full, these can total 5–15 GB. Delete individual snapshots with 'tmutil deletelocalsnapshots YYYY-MM-DD-HHMMSS', replacing the date-time string with each entry from the list. Only do this if you have a current external Time Machine backup.
Does running a disk scan slow down my Mac?
A Terminal du scan or a treemap tool reads files sequentially and uses minimal CPU, so you will notice only a brief slowdown on older spinning-platter drives. On the APFS SSDs in modern MacBooks the scan is fast and has negligible impact on performance. Running a scan while large file operations are in progress (e.g. a Time Machine backup) can make both slower, so it is worth waiting for background tasks to finish first.