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-CoresQOS_CLASS_DEFAULT→ MixedQOS_CLASS_UTILITY→ E-Cores preferredQOS_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.
Keep reading
Ollama, LM Studio & Hugging Face Are Eating Your Disk: How to Manage AI Models on Mac
A 7B model is 4+ GB, and you probably have duplicates across multiple AI hubs. Here's how to audit, deduplicate, and reclaim space from LLM model weights on Apple Silicon.
"Your System Has Run Out of Application Memory" on Mac: Fix It Permanently
What the memory pressure alert actually means on Apple Silicon, which processes to terminate first, and how to prevent it from coming back.