Why Is My Mac So Slow? How to Find the Cause and Fix It
A slow Mac has a small set of causes: the CPU is pinned, memory is under pressure, the disk is nearly full, or the chip is throttling from heat. The biggest trap is reaching for a tool that promises to "free up RAM," because that misreads how macOS uses memory in the first place. Learn to read four numbers and you can tell which cause is real in about a minute, then fix that one thing.
Here is how the pieces actually work, and the commands to see them.
The RAM myth: free memory is not the goal
The most common wrong instinct is to look at "free memory" and panic when it is low. On macOS, low free memory is normal and healthy. Unused RAM is wasted RAM, so the kernel deliberately keeps it full: recently used files stay cached in memory so the next read is instant, and that cache is released the moment a program needs the space.
macOS also compresses memory. Since OS X Mavericks, when RAM fills, the system compresses inactive pages in place rather than immediately writing them to disk, so a page that would have become slow swap often stays in fast RAM at half the size. You can watch this directly:
vm_stat
The numbers are in pages (16 KB per page on Apple Silicon, 4 KB on Intel). What
matters is not Pages free, it is the ratio of active and wired to compressed,
and the Swapins/Swapouts counters at the bottom. Swap activity that keeps
climbing is the real sign of memory trouble.
The single honest indicator is memory pressure, in Activity Monitor's Memory tab. Green means the system is comfortable even if free memory looks tiny. Yellow and red mean it is genuinely short and pushing pages to disk. Judge memory by that graph, never by the free-memory figure.
Find the real bottleneck
Open Activity Monitor and read its tabs in order, or use the command line:
- CPU: sort by usage with
top -o cpuin Terminal, or the Activity Monitor CPU tab. Note that %CPU is per core, so a value above 100% is one process using several cores, which is normal for a build or an export and suspicious for an idle app. - Memory: the pressure graph, as above.
- Disk free space: run
df -h /. APFS uses free space for swap and temporary files, so once you are within a few percent of full, everything slows at once. - Heat: covered below.
One of those four is almost always the answer. Guessing wastes time; the reading takes seconds.
A runaway process
If the CPU is pinned, top -o cpu shows the culprit at the top. A stuck app, a
sync client re-scanning, or a background helper caught in a loop are the usual
cases. If you recognise it as safe to end, quit it. If it relaunches itself
within seconds, it has a launchd job behind it (see the last section), and
quitting the process alone will not hold.
Be careful with system processes. kernel_task climbing is often the system
deliberately using CPU time to slow the chip down when it is hot, not a bug to
kill. That is a thermal symptom, not a memory or app one.
Thermal throttling
When a Mac runs hot, the chip lowers its clock speed to cool down, and heavy work feels sluggish. You can confirm it rather than guess:
pmset -g thermlog
This logs thermal events that affect CPU speed; a CPU_Speed_Limit under 100
means the Mac has been slowing itself to cool down. For a live view of power draw
and thermal pressure, sudo powermetrics --samplers thermal,cpu_power updates in
real time. If throttling is your bottleneck, the fix is heat and airflow, not
cleaning. A loud fan alongside the slowness is the giveaway.
Spotlight and login items
Two background causes are worth ruling out. After a macOS update, migration, or a
large file move, Spotlight rebuilds its index and pins the CPU for anywhere from
minutes to an hour. mdutil -s / confirms whether indexing is enabled; high CPU
from mds or mdworker shows whether Spotlight is actively busy. If it is
reindexing, the slowdown is temporary and ends on its own.
The other is startup load. Everything that launches at login competes for the CPU right after boot. macOS registers these as launchd jobs and login items; trim the list in System Settings under General, Login Items, and fewer things fight for the machine when you first sit down.
Where a tool helps
Everything above is readable with built-in commands, which is the point: you do not need an app to diagnose a slow Mac. What an app saves you is the assembly. Mole's Status view shows CPU, memory pressure, disk, temperature, and the top processes on one screen with a live menu bar readout, and clicking a process explains what launched it, whether it is holding the Mac awake, and what it is reading and writing, which is the same launchd and I/O detail you would otherwise gather by hand. It is a convenience over the commands, not a substitute for understanding them.
Whatever you use, avoid the one-click "speed up" sweeps. A tool that makes your Mac fast without showing you what it changed can delete something an app needed, and you cannot free memory by deleting files anyway. Restarting is the correct way to clear memory and swap.
The short version
Slowness is CPU, memory pressure, a full disk, or heat, and each has a reading.
Ignore free memory and watch the pressure graph, since macOS keeps RAM full and
compressed on purpose. Use top, df -h, pmset -g thermlog, and mdutil -s /
to find which one is real, then fix that: quit the runaway process, free some
disk, cool the machine, or wait out the reindex. Find the cause, fix one thing,
and skip the blind cleanup.