Performance & memory

Why is my Mac slow? A five-minute diagnosis

Beachballs, laggy typing and slow builds have four usual causes: something is eating the CPU, memory is under pressure, the chip is hot and throttling, or the disk is nearly full. Check them in that order.

The quick check

Open Activity Monitor (Spotlight, then type “Activity Monitor”) and look at four things, one tab at a time:

TabLook atProblem if
CPU% CPU column, sorted high to lowOne app sits above 90% for minutes, or Idle at the bottom is under 20%
MemoryMemory Pressure graph at the bottomThe graph is yellow or red, or Swap Used is several GB
CPUkernel_task near the topIt uses a lot of CPU while the Mac feels hot
(Finder)Free space on your diskLess than about 10% free

Whichever one is wrong is your answer. The sections below show how to confirm each from Terminal and what to do about it.

1. Something is using the CPU

List the ten busiest processes:

ps -Ao pid,pcpu,pmem,comm -r | head -n 11

-r sorts by CPU. A single process near 100% is using one full core. On an 8-core or 10-core chip, 100% for one process won’t freeze your Mac by itself, but several of them, or a runaway build, will.

Common offenders for developers: a forgotten node or tsc --watch, a browser tab running a heavy page, Docker’s VM (com.docker.virtualization or Virtualization.VM), and Spotlight indexing a fresh node_modules. The full walkthrough is in high CPU usage on Mac.

2. Memory is under pressure

memory_pressure | tail -1
sysctl vm.swapusage

The first line prints “System-wide memory free percentage”. The second shows how much swap is in use. Low free percentage plus several GB of swap means apps are being paged to disk, which feels like lag when you switch windows. Read memory pressure explained for what the colors mean, and high swap usage for what to close.

Electron apps (Slack, Discord, VS Code), Chrome with many tabs, Docker and local LLMs are the usual memory hogs. Remember that one app can be 20 processes: Chrome and VS Code split themselves into helpers, so the parent alone looks small.

3. The chip is hot and throttling

Apple Silicon slows itself down to stay within safe temperatures. Check whether macOS is doing that right now:

sudo powermetrics --samplers thermal -i 1000 -n 1

Anything other than Current pressure level: Nominal means macOS is limiting performance. Fanless MacBook Airs reach this sooner under long loads. See Mac thermal throttling for the signs and fixes.

4. The disk is nearly full

df -h /

macOS needs free space for swap, updates and caches. Under roughly 10% free (or under 20 GB on a small drive), things start to slow down and updates can fail. Developer machines fill up with node_modules, Xcode DerivedData and Docker images; free up space on a developer Mac has the exact commands.

Less obvious causes

  • Long uptime. Check with uptime. After a few weeks, leaked memory and stuck daemons add up. A restart is a legitimate fix.
  • Background indexing. mds_stores, mdworker, photoanalysisd and mediaanalysisd run hard after setup, big file moves or a macOS update. They calm down on their own.
  • Login items. Check System Settings › General › Login Items & Extensions for apps that start with your Mac and run all day.
  • Low Power Mode. On a laptop, System Settings › Battery › Low Power Mode caps performance on purpose. Check it’s not set to Always.
  • Orphaned dev processes. Closing a terminal doesn’t always stop the dev servers in it. They keep running under launchd. List dev tools parented to launchd with ps -Ao pid,ppid,etime,comm | awk '$2 == 1' | grep -E 'node|python|vite|tsc|bun|deno'.

Seeing it live

Stat Space keeps CPU, memory pressure, temperature and disk in your menu bar, so you see which one is spiking at the moment things get slow. The Apps tab groups helpers under their real app (all of Chrome as one row, not 30). The System tab shows a thermal pill (Cool, Warm, Hot · throttling) and suggests a restart when uptime and swap say it’s time. All of that is free.

Pro adds “Why is my Mac slow?” as a one-tap explanation in plain English, and spike rewind, which records the top three processes whenever CPU or temperature crosses your threshold, so you can see what caused a slowdown after it’s over.

Questions

Does restarting a Mac actually make it faster?

Often, yes. A restart clears swap, ends leaked or stuck background processes and resets apps that have grown over days. If your Mac has been up for weeks and swap is several GB, restart before you investigate anything else.

Why is my new Apple Silicon Mac slow?

For the first day or two after setup, Spotlight (mds_stores), Photos analysis and iCloud sync run hard in the background. Leave it plugged in and awake overnight and it usually settles.

Is kernel_task using high CPU a problem?

Usually not. macOS uses kernel_task to hold back the CPU when the Mac is hot, so high kernel_task with a warm Mac means it is cooling itself. Fix the heat and it drops.

Get started

Know what your Mac is doing, without adding to it.

Free, no account. Pro is $9.99 once for the first 100 buyers.