macOS
Unlike Linux, macOS hides resource pressure behind a polished interface. When hangs occur, the system often appears responsive — until it suddenly isn’t.
Common causes include:
- Memory pressure
- Docker VM disk exhaustion
- Spotlight indexing
- Log buildup
1. Check Memory Pressure
Open Activity Monitor:
Applications → Utilities → Activity Monitor
Go to the Memory tab.
Look for:
- Memory Pressure graph (should be green)
- Swap Used
High swap indicates system strain.
2. Identify Heavy Processes
Sort by:
- Memory
- CPU
Look for:
- Docker
- Node
- Chrome
- Postgres
Or use terminal:
top -o mem
3. Check Disk Usage
macOS slows significantly when disk fills.
df -h
Focus on:
- /System/Volumes/Data
4. Check Docker Usage
Docker Desktop runs inside a hidden VM and silently consumes disk.
Check usage:
docker system df
5. Clean Docker Space
Remove stopped containers:
docker container prune
Remove unused images:
docker image prune -a
Remove unused volumes:
docker volume prune
Remove build cache:
docker builder prune
Full cleanup:
docker system prune -a --volumes
6. Clear System Logs
macOS logs grow aggressively.
Check log size:
du -sh ~/Library/Logs
Clear if large:
rm -rf ~/Library/Logs/*
7. Clear Derived Data (Dev Systems)
Xcode derived data can consume GBs.
rm -rf ~/Library/Developer/Xcode/DerivedData
8. Restart Docker VM
Sometimes Docker's internal VM becomes unstable.
Restart Docker Desktop or run:
killall Docker && open /Applications/Docker.app
9. Check Spotlight Indexing
Heavy indexing causes slowdowns.
Check status:
mdutil -s /
Rebuild if corrupted:
sudo mdutil -E /
10. Emergency: Free Purgeable Memory
macOS keeps reclaimable memory.
Force cleanup:
sudo purge