Skip to content

Guide

Why is my Mac slow? How to find the cause

Most slow Macs have one of five causes. Here is how to tell which one you have, using Activity Monitor and a few Terminal commands that come with macOS.

By the iKnowMyMac team · Updated · 9 min read

The short answer

Open Activity Monitor and check the Memory tab first: if the Memory Pressure graph is yellow or red and Swap Used is growing, you are short of memory, and the apps at the top of the Memory column are the cause. If memory is green, check the CPU tab for an app holding high % CPU for minutes, then heat (a busy kernel_task), then the Disk tab. Don't use “RAM cleaner” apps; they treat a symptom macOS already handles.

On this page

The five usual causes

A Mac feels slow when something it needs is in short supply. In practice that is almost always one of these, roughly in order of how often they happen:

  1. Memory pressure. Apps need more memory than the Mac has, so macOS compresses memory and writes it to swap on the SSD.
  2. One app using the CPU for minutes. A runaway process, a stuck browser tab, an indexer or a build.
  3. Heat. When the Mac is hot, macOS slows the CPU down to cool it, and everything gets slower at once.
  4. Disk I/O. Something is reading or writing so much that other apps wait for the disk.
  5. Background work you forgot about. Dev servers, containers, simulators and sync apps that each use a little, and together use a lot.

Check them in that order. Memory first, because it is the most common and the easiest to misread.

Step 1: check memory pressure, not free memory

Open Activity Monitor (Applications → Utilities, or Spotlight) and click the Memory tab. Ignore how much memory is “free”: macOS deliberately fills spare memory with cached files. Look at the Memory Pressure graph at the bottom.

  • Green

    Meaning
    Your Mac is using its memory efficiently.
  • Yellow

    Meaning
    Your Mac might eventually need more memory.
  • Red

    Meaning
    Your Mac needs more memory.
What Apple says the Memory Pressure colours mean

Next to the graph, check Swap Used and Compressed. A little swap that stays flat is fine. Swap that keeps growing while pressure is yellow or red means apps need more memory than you have.

To find out who, sort the process list by the Memory column. One catch: apps like Chrome, Slack, VS Code and anything built on Electron run many processes, so no single row looks big. Add up the rows that belong to the same app, or look for many rows with the same name.

The same checks in Terminal
memory_pressure | tail -1
sysctl vm.swapusage
top -l 1 -o mem -n 10 -stats pid,command,mem

memory_pressure prints the system-wide free memory percentage, sysctl vm.swapusage shows swap, and top lists the ten processes using the most memory.

Step 2: look for sustained CPU use

Click the CPU tab and sort by % CPU. A process can go above 100% because the figure is per core: 200% means two cores' worth of work. What matters is duration. A process at 90% for two seconds is normal; one at 90% for ten minutes is your problem.

The bottom of the tab shows System, User and Idle. If Idle stays low for minutes, the CPU is saturated. Choose Window → CPU History to see each core; on Apple silicon, busy efficiency cores alone rarely slow anything down.

Load average and the busiest processes
sysctl -n vm.loadavg
top -l 2 -o cpu -n 10 -stats pid,command,cpu | tail -11

The load average is the average number of threads running or waiting over 1, 5 and 15 minutes. If it stays above your number of cores, work is queueing.

Step 3: check for heat and throttling

If everything is slow but no app stands out, check whether the Mac is hot. A tell-tale sign is kernel_task near the top of the CPU tab. Apple explains that kernel_task manages CPU temperature by making the CPU less available to the processes using it heavily. It doesn't cause the heat; it responds to it.

Has macOS recorded a thermal warning?
pmset -g therm

If this reports a thermal or performance warning, the Mac is limiting performance to cool down. Look in the Energy tab for the apps with the highest Energy Impact: they are generating the heat. Also check the obvious: vents blocked by a bed or a lap, a hot room, or a heavy external display setup.

Step 4: check disk activity and free space

Click the Disk tab and sort by Bytes Written or Bytes Read. Backups, Spotlight indexing, cloud sync and photo libraries can all read or write heavily for a while. That is usually temporary.

Disk throughput every 5 seconds (Control-C to stop)
iostat -d -w 5

Also check free space in System Settings → General → Storage. A nearly full startup disk leaves less room for swap and for the system's own temporary files, which makes memory pressure worse.

Step 5: find the background work you forgot

Each of these is small on its own. Together they are often the reason a 16 GB Mac is under pressure by the afternoon: dev servers from yesterday, a Docker stack, a couple of iOS simulators, several chat apps and a sync client.

Every process listening for connections
lsof -nP -iTCP -sTCP:LISTEN

This lists every listening port with its process and PID. Dev servers usually show up as node, python or ruby, which is why it's hard to tell which project each belongs to.

What not to do

  • Don't use “RAM cleaner” or “memory booster” apps. Apple's guide says unused memory doesn't make a Mac faster. Throwing away cached files just makes them slower to open again.
  • Don't quit system processes such as kernel_task, WindowServer or launchd. They are symptoms, not causes, and macOS needs them.
  • Don't reinstall macOS first. Almost every slowdown has a specific cause you can find in a few minutes with the steps above.

The faster way: ask iKnowMyMac

Everything above works, but it takes a few minutes and the slowdown is often over before you finish. iKnowMyMac does these checks for you from the last hour of history, groups every helper process under its app, and ranks the causes with evidence.

Know why your Mac is slow.

macOS 15 Sequoia or later · Apple silicon. A 4.2 MB native app, notarized by Apple. No account, no analytics, no telemetry.

One-time purchase · every feature · 14-day refund