If you own a Mac with a 128 GB or 256 GB SSD, the "Your startup disk is almost full" alert is practically a rite of passage. The fix is not just deleting a few files — it requires understanding what is actually consuming your storage, tackling it in priority order, and setting up a lightweight system to keep it from filling again within weeks. This guide walks you through the whole process, step by step, on macOS 12 Monterey through macOS 26.
Step 1: Understand What "Low Storage on Mac SSD" Really Means
Before deleting anything, get an honest picture of your disk. macOS reserves a portion of the SSD for virtual memory swap files, Time Machine local snapshots, and its own purgeable space — so the number shown in Finder may not tell the whole story.
- Open Apple menu > System Settings > General > Storage (macOS 13+) or About This Mac > Storage (macOS 12).
- Wait for the bar to fully render — it takes 15–30 seconds to calculate purgeable space.
- Hover over each color segment to see the category breakdown: Applications, Documents, System Data, iCloud Drive, and Other.
The "System Data" category is often misleadingly large. It includes caches, logs, app support files, Time Machine snapshots, and swap. These are the primary targets for recovery on a small SSD.
Step 2: Clear the Highest-Impact Locations First
Work top-down: the categories below are ordered by how much space they typically recover on a 128 GB or 256 GB machine.
User and Application Caches
Caches are designed to be rebuilt by the system or apps on demand, making them the safest first target. Open Finder, press Shift ⌘ G, and navigate to ~/Library/Caches. You can safely delete the contents of most subdirectories here — do not delete the Caches folder itself.
# Remove your user cache contents (safe; apps rebuild on next launch)
rm -rf ~/Library/Caches/*
Also check /Library/Caches (system-wide). Deleting these requires administrator privileges and is generally safe, but some enterprise or developer tools may take longer to start the next time they run.
Logs
System and application logs accumulate silently. They are never needed in normal use.
sudo rm -rf /Library/Logs/*
rm -rf ~/Library/Logs/*
Time Machine Local Snapshots
On small SSDs, Time Machine local snapshots are a frequent offender — they can occupy 10–30 GB and are counted as "System Data." macOS releases them automatically under disk pressure, but you can force it:
# List snapshots
tmutil listlocalsnapshots /
# Delete a specific snapshot (replace the date string)
sudo tmutil deletelocalsnapshots 2026-05-29-143000
If there are many snapshots, run tmutil deletelocalsnapshots / (macOS 12.3+) to remove all of them at once.
iOS / iPadOS Device Backups
iTunes and Finder store full device backups at ~/Library/Application Support/MobileSync/Backups/. Each backup can be several gigabytes. Open Finder > [your iPhone] > Manage Backups, or navigate there directly and delete old entries you no longer need.
Developer Tool Artifacts
If you use Xcode, derived data and simulator runtimes are notorious space consumers:
# Xcode derived data
rm -rf ~/Library/Developer/Xcode/DerivedData/*
# Simulator device data (large — only remove if you no longer need those simulators)
xcrun simctl delete unavailable
Xcode simulator runtimes live under ~/Library/Developer/CoreSimulator/Volumes/ and individual ones can top 5 GB each. Remove via Xcode > Settings > Platforms.
Downloads and Desktop
These are obvious but easy to overlook. Sort both folders by size (⌘ 2 in list view, then click Size) and remove installers, disk images (.dmg), and ZIP archives you no longer need.
Step 3: Find What You Cannot See — Use a Disk Map
Terminal commands cover known locations. The problem on a small Mac SSD is that large files often hide in unexpected places: virtual machine disk images, Logic Pro libraries, Final Cut caches, Homebrew bottles, or Docker layer stores. You need a visual treemap to surface them.
Crumb puts a menu-bar icon on your Mac that opens a live storage treemap in one click. Its Visualize tab shows every folder as a proportional block — click any block to drill down and immediately see what is large and where it lives. The whole-Mac audit also flags known junk locations (caches, logs, leftover app support folders from uninstalled apps) so you are not guessing.
If you prefer a Terminal approach, du gives a rough picture:
# Show the 20 largest directories under your home folder
du -sh ~/* 2>/dev/null | sort -rh | head -20
Step 4: Uninstall Apps Cleanly (Leftover Files Matter)
Dragging an app to the Trash removes the .app bundle but almost never removes its support files: preferences in ~/Library/Preferences/, application support data in ~/Library/Application Support/, caches, and sometimes gigabytes of downloaded content. On a 128 GB SSD, three or four "deleted" apps can quietly hold 4–8 GB.
| Leftover location | What it contains | Safe to delete after uninstall? |
|---|---|---|
~/Library/Application Support/<AppName> |
User data, databases, downloaded content | Yes, if you have uninstalled the app |
~/Library/Preferences/com.appname.plist |
Settings | Yes |
~/Library/Caches/<AppName> |
Temporary cache | Yes |
~/Library/Containers/<AppName> |
Sandboxed app data (App Store apps) | Yes, after uninstall — removing while installed can corrupt the app |
/Library/Application Support/<AppName> |
System-wide support files | Usually yes, but requires admin; check contents first |
Crumb's Uninstall tab finds an app's bundle and all associated leftovers in one place, showing you a checklist before anything is deleted. Because removal is permanent, review each item — especially inside Application Support — before confirming.
You can download Crumb as a notarized pkg; no account is required.
Step 5: Handle iCloud Drive and Optimize Storage
macOS's "Optimize Storage" feature (Apple menu > System Settings > General > Storage > Recommendations) offloads older files to iCloud and keeps only the local copies you have recently accessed. On a 128 GB Mac this is worth enabling if you have an iCloud+ subscription. Be aware that files marked with a cloud icon are not locally present — you need an internet connection to open them.
Check how much iCloud Drive is occupying locally:
du -sh ~/Library/CloudStorage/
du -sh ~/Library/Mobile\ Documents/
Step 6: Prevent the "Startup Disk Almost Full" Alert from Recurring
One-time cleanup is never enough on a small SSD. The disk fills again within weeks unless you have a lightweight routine.
- Schedule a monthly cache clear. Add a calendar reminder to repeat the
rm -rf ~/Library/Caches/*step, or keep Crumb in your menu bar — its one-click Clean button handles caches, logs, temp files, and purgeable space automatically. - Move large libraries off-device. Logic Pro, Final Cut, and Lightroom let you relocate their media libraries to an external SSD or NAS. This is the most durable fix for creative workflows on a small internal drive.
- Review Homebrew regularly. Run
brew cleanup --prune=allto remove cached formula downloads and old versions. - Keep Docker in check. Run
docker system prune -afperiodically if you use Docker Desktop — unused images and volumes accumulate quickly. - Turn on Time Machine to an external drive so local snapshots are less likely to grow large between backup windows.
A Note on What Is Not Safe to Delete
Not every large folder is junk. Avoid removing:
/System/,/usr/,/private/— core OS files; deletion can make your Mac unbootable.~/Library/Application Support/contents for apps you still use — this is live data, not cache.- Active Virtual Machine disk images (
.vmdk,.sparseimage) — back up first if you need them, then delete. - Anything you cannot identify. Use the built-in macOS storage recommendations or a tool with an "explain this folder" feature before deleting unknown files.
Conclusion
Low storage on a Mac SSD with 128 GB or 256 GB is manageable without buying a new machine or upgrading your drive. The key is working in priority order — Time Machine snapshots and caches first, then developer artifacts, then leftover app files — and establishing a lightweight monthly habit rather than a one-time emergency cleanup. A treemap and a menu-bar clean button make the habit nearly effortless, but even the Terminal commands above, run once a month, will keep your small SSD breathing.