When I recently decided to install the macOS 26 Tahoe beta, I remembered that previous beta versions had the side-effect of causing high CPU load by certain macOS tasks. And usually it’s already a bit late when you notice this only once the Fans kick in, then check the «Activity Monitor.app» to find the culprit.

After searching the web a bit, I found exactly the solution that I wished for: proactive Notification center alerts, if either an App, Process, or the overall System CPU usage reaches critical limits.


Set up a CPU process watcher running in the background of macOS

This simple yet powerful script was originally developed and published by vladzima on GitHub – but after trying it for a bit, I felt it needs some improvements, which I added to my Fork of the project:

Link to GitHub where the setup_cpu_monitor.sh bash-script can be downloaded

Launch and configure the Mac CPU Monitor script 🚨

Once the ZIP or setup_cpu_monitor.sh was downloaded, launch the «Terminal.app»:

chmod +x /path/to/setup_cpu_monitor.sh
./setup_cpu_monitor.sh

Then follow the instructions in the Terminal window, and configure your preferred thresholds:

  1. The %-threshold to alert for a single App/Process CPU usage
  2. The %-threshold to alert for the overall System CPU usage
  3. The interval in Seconds the monitor checks the CPU usage

You can find some ideas for their proposed values below.

Good thresholds to use for CPU monitoring of your Mac ⚙️

Generally I prefer the following thresholds, following a bit common “rule of thumb” I’d say.

  • Per-process threshold: remember that multi-threaded apps can easily exceed 100%
    0.25 x (#cores x 100)
  • Overall system threshold: about 75–85% of max #cores
    0.85 × (#cores × 100)
  • Check interval: focus on long-running high CPU, ignoring short-term spikes (“false-positives”)
    300 seconds (5 minutes)

Example: 💻 Apple iMac M3 (8-core)

MonitorThres­hold
Single App CPU usage threshold150
Overall System CPU threshold680
Check interval in seconds120

Example: 💻 Apple MacBook Pro M4 (10-core)

MonitorThres­hold
Single App CPU usage threshold250
Overall System CPU threshold840
Check interval in seconds300

Example: 💻 Apple MacBook Pro – M2 Max (12-core)

MonitorThres­hold
Single App CPU usage threshold300
Overall System CPU threshold1020
Check interval in seconds300

Example: 🖥️ Apple Mac Mini M4 Ultra (24-core CPU)

MonitorThres­hold
Single App CPU usage threshold600
Overall System CPU threshold2040
Check interval in seconds480

Dummy CPU Stress Test for macOS 🧪

Naturally you want to test if the CPU monitor alerts work properly. There’s a free tool from the Mac App Store that is easily configurable for that:

Share:
  • 0
  • 0

Questions? Suggestions? Let us know with a comment!

This site uses Akismet to reduce spam. Learn how your comment data is processed.