Beacon guide

Watch GPU usage on a Mac in real time

Apple Silicon and Intel Macs both have GPUs you can't see in Activity Monitor. Here's how to read live GPU load on macOS.

4 min read

The GPU does a surprising amount of work on a modern Mac — compositing, video decode, ML inference, every browser scroll. Yet macOS’s main monitoring tools either bury it or skip it entirely. Activity Monitor doesn’t have a GPU column at all, which still surprises people in 2026.

How to actually see GPU load

powermetrics (the source of truth)

This is what Apple’s own tools use under the hood.

  1. Open Terminal.
  2. Run sudo powermetrics --samplers gpu_power -i 1000.
  3. You'll see GPU active residency, frequency, and power draw, updated each second.
  4. Ctrl-C to stop.

For Apple Silicon, the relevant line is GPU HW active residency — the percent of time the GPU was busy in that sample. GPU Power is the wattage. On M-series Macs the GPU shares memory with the CPU, so a “high GPU” reading is also a clue to memory bandwidth pressure.

Activity Monitor’s GPU History window

Hidden but useful: Window > GPU History (Cmd-4). It opens a floating chart with stacked bars per GPU. Doesn’t give you numbers, but the live shape is informative.

Xcode’s Instruments

For developers, Instruments > Metal System Trace is the deep view — frame times, encoder stalls, shader load. Overkill for “is the GPU busy right now.”

A menu bar monitor

The most pragmatic option. Beacon reads the same data powermetrics uses and puts it in the bar.

  1. Install Beacon and enable GPU in Settings > Menu Bar.
  2. Choose percentage, mini bar, or sparkline.
  3. Click for a longer history graph and current GPU power draw.

What makes the GPU spike

Common culprits:

If you’re seeing high GPU and don’t recognise what’s causing it, look at WindowServer first. A misbehaving extension or a stuck wallpaper can sit at 30-40% indefinitely. Quitting Safari / Chrome / your browser and watching the number drop is a good test.

← All Beacon tips