Why is my Mac so slow? How to find what's actually eating your CPU and memory

Spinning fans, a beach ball, a battery that drains by lunch. Here is how to find the real culprit in a few minutes — and the usual suspects, explained.

4 min read

A MacBook with a spinning beach ball and a glowing CPU graph spiking behind it

Your Mac was fast last month. Now the fans are spinning, apps take a beat to respond and the beach ball keeps showing up. Before you reinstall macOS or start shopping for a new machine, spend five minutes finding out what is slowing it down. Nine times out of ten, it is one specific thing.

Step 1: open Activity Monitor the right way

Press ⌘ Space, type Activity Monitor and press Return. Then:

  1. Click the CPU tab and sort by % CPU (click the column header).
  2. Choose View → All Processes so nothing is hidden.
  3. Watch for ten seconds. You are looking for anything that stays near the top, not a single spike.

How to read the numbers: % CPU is measured per core. A process at 100% is using one whole core; 400% means four. On a Mac with eight or more cores, a single process at 100% is rarely the reason everything feels slow — several things at 50–100% at once usually are.

Step 2: check memory pressure, not "memory used"

Switch to the Memory tab and look at the Memory Pressure graph at the bottom — not the "Memory Used" number. macOS deliberately fills spare memory with cache, so a high "used" figure is normal.

Memory pressureWhat it means
GreenPlenty of memory. Your slowdown is something else.
YellowmacOS is compressing memory to make room. Things may hitch.
RedMemory is exhausted and the Mac is swapping to disk. This is your slowdown.

Also check Swap Used. A few hundred megabytes is fine; many gigabytes means you are routinely running out.

Step 3: know the usual suspects

ProcessWhat it isWhat to do
Google Chrome Helper (Renderer), Safari Web ContentOne process per tab or extensionClose heavy tabs, especially video and dashboards; audit extensions
kernel_taskmacOS cooling the machine by keeping the CPU busyYour Mac is hot: check vents, what is charging, and anything else using CPU
WindowServerDraws everything on every displaySeveral high-resolution displays, transparency and animations all add up
mds_stores, mdworkerSpotlight indexingNormal after an update or copying lots of files; it settles down
photoanalysisdPhotos analysing your libraryNormal after importing; lets up when it finishes
backupdTime Machine backing upLet it finish, or schedule backups for later
node, python, javaDev servers, scripts, language toolsFind which project they belong to and stop the ones you forgot
com.apple.Virtualization.VirtualMachineDocker Desktop and other VMsStop containers you are not using; lower the VM's memory limit

Step 4: check the disk

A nearly full disk slows everything down, because macOS needs free space for swap, caches and updates. If you are below 10–15% free, that alone can explain a sluggish Mac. We wrote a separate guide on where your disk space actually went.

Why Activity Monitor only gets you halfway

Activity Monitor is a fine tool with two big blind spots:

It shows processes, not apps. Chrome is not one row — it is forty helpers, each using a little. A dev setup shows up as a dozen anonymous node processes with no hint of which project they belong to. Adding it up is left to you.

It has no history. The spike that froze your Mac ten minutes ago is gone by the time you open the window. You are left looking at a calm list, guessing.

A monitor that thinks in apps and projects

That is the gap NabuStats fills. It is an activity monitor for your menu bar that groups the numbers the way you think about them:

  • Apps, not processes. Chrome's forty helpers add up to one Chrome. Every row is something you recognise and can quit.
  • By project. Dev servers, test runners and coding agents roll up under the project folder they are running in.
  • Containers too. Docker containers appear beside your apps, with their own CPU and memory.
  • History you can scrub. Go back to the spike that froze your machine and see exactly what caused it.
  • Everywhere you work. A live readout in the macOS menu bar, a tray popup and mini widget on Windows and Linux, and a terminal mode for SSH sessions.
NabuStats grouping CPU and memory by app and project
Every row is an app or a project, with history you can scroll back through.

Quick fixes that usually work

  1. Quit what you are not using — properly, with ⌘Q, not just closing the window.
  2. Restart once a week. It clears leaked memory and finishes pending updates.
  3. Trim login items in System Settings → General → Login Items & Extensions.
  4. Close browser tabs you are "saving for later". Bookmark them instead.
  5. Stop forgotten dev servers and containers. They are the most common hidden load on a developer's Mac.
  6. Keep 15% of your disk free.

A slow Mac almost always has a specific cause. Measure first, then fix that one thing — it is faster than any cleanup ritual, and you will know when it comes back.

← All posts