Theme
FeaturesHow It WorksPricingBlogSign In to Dashboard →Download Mac App
← All posts
Performance & Memory

How to Push Background Tasks to Apple Silicon E-Cores for Better Mac Performance

The Silo Team · 6 min read · September 26, 2026

Understanding Apple Silicon's Core Architecture

Apple Silicon chips (M1 through M4) use a heterogeneous CPU architecture with two types of cores:

  • Performance Cores (P-Cores): High-frequency, high-power cores for demanding, latency-sensitive work. M4 Pro has 14 P-cores at 4.4 GHz.
  • Efficiency Cores (E-Cores): Low-frequency, ultra-low-power cores for background work. M4 Pro has 4 E-cores using ~10% of a P-core's power draw.

macOS's scheduler already does a good job of routing work to the appropriate cores. But it can be tuned explicitly.

The QoS System

Darwin (the macOS kernel) exposes Quality of Service (QoS) classes through POSIX APIs. When a process is assigned a lower QoS class, the scheduler prefers E-cores for its threads:

  • QOS_CLASS_USER_INTERACTIVE → P-Cores (highest priority)
  • QOS_CLASS_USER_INITIATED → P-Cores
  • QOS_CLASS_DEFAULT → Mixed
  • QOS_CLASS_UTILITY → E-Cores preferred
  • QOS_CLASS_BACKGROUND → E-Cores only

Deprioritizing a Process via Terminal

# Set a process to background QoS (replaces the process image in-place)
renice -n 10 -p PID

# For more aggressive scheduling, use taskpolicy
taskpolicy -c background -p PID

When to Use This

E-Core deprioritization is most useful for:

  • Long-running builds running in the background while you're in a video call
  • Docker container builds that can tolerate being slower
  • Indexing or background analysis tasks
  • Backup agents and sync clients

Don't apply this to: interactive apps, real-time audio/video, or your primary dev server.

How MacPilot's Process Monitor Handles This

MacPilot's Process Monitor shows each process's current QoS class, CPU core affinity, and whether it's been scheduled on P or E cores recently. The E-Core Deprioritization toggle in the process detail sheet calls taskpolicy with the background scheduling tier, verifiable by watching the process's core assignment change in real time.

See it on your own Mac.

Download Silo and find out where your space is going.

Download Silo →

Keep reading

Silo Support Desk

Help & Feedback

Send a message to our engineering team. We typically respond within 12 hours.

Direct email support: sparoconnect@gmail.com