How to Pin a Process to Specific CPU Cores in Windows 11
🔍 WiseChecker

How to Pin a Process to Specific CPU Cores in Windows 11

Quick fix: Right-click process in Task Manager → Set affinity. Pick which CPU cores it can use. Or PowerShell: $proc = Get-Process -Name "appname"; $proc.ProcessorAffinity = [System.IntPtr]::new(0x0F) (binary mask 0x0F = cores 0-3). For chronic: use shortcut with start /affinity or Process Lasso (free utility for persistent affinity).

CPU affinity: which cores a process can run on. Setting via Task Manager / PowerShell. Useful for: gaming (force game to performance cores), isolating busy app, video encoding workflows.

Symptom: Want to pin a process to specific CPU cores in Windows 11.
Affects: Windows 11.
Fix time: ~5 minutes.

ADVERTISEMENT

What causes this need

Modern CPUs: Intel P-cores + E-cores (12th gen+), AMD CCX architecture. By default Windows distributes processes. Pinning useful when:

  • Game needs P-cores for performance.
  • Background task should use E-cores only.
  • Specific process competing for resources.
  • NUMA optimization (multi-socket).

Method 1: Task Manager Set affinity

The standard route.

  1. Open Task Manager (Ctrl+Shift+Esc).
  2. Switch to Details tab.
  3. Find process. Right-click → Set affinity.
  4. Checkbox per CPU core. Tick which cores process can use.
  5. For all CPU: tick “All Processors” (default).
  6. For P-cores only (Intel 12th gen): tick first 6-8 cores (P-cores are cores 0-N depending on CPU).
  7. For E-cores: tick remaining.
  8. OK.
  9. Process now restricted to chosen cores.
  10. Caveat: affinity resets when process restarts. For persistent: Method 2 or 3.

This is the standard fix.

ADVERTISEMENT

Method 2: Use start /affinity for launch

For per-launch.

  1. Launch app with affinity set:
    start /affinity 0F "C:\Path\to\app.exe"

    0F = hex for binary 1111 = cores 0-3.

  2. Affinity masks:
    • 0x01 = core 0 only.
    • 0x0F = cores 0-3.
    • 0xFF = cores 0-7.
    • 0xFFFFFFFF = first 32 cores.
  3. For specific cores: convert binary to hex. Bit 0 = core 0, etc.
  4. For shortcut: edit shortcut target to include start /affinity.
  5. For batch / scripts: include in launch script.
  6. For chronic apps: combine with shortcut.

This is the launch route.

Method 3: Process Lasso for persistent affinity

For automated long-term.

  1. Install Process Lasso (free trial / paid) from bitsum.com.
  2. For each app: configure affinity rules.
  3. Process Lasso auto-applies affinity each time app launches.
  4. Also offers: priority management, CPU affinity per process, energy saver.
  5. For chronic gaming: pin game to P-cores, background to E-cores. Configure once.
  6. For Intel Thread Director: Win11 should auto-handle on 12th gen+. But specific apps may benefit from manual pinning.
  7. For AMD CCX: pin to single CCD (8 cores per chiplet) to avoid cross-CCD latency.
  8. For chronic affinity needs: combination of Task Manager + Process Lasso + manufacturer’s utility (Intel APO, AMD Ryzen Master).

This is the automated route.

How to verify the fix worked

  • Task Manager → Details → process → Set affinity shows current setting.
  • CPU usage on chosen cores while process runs.
  • Other cores: idle (if process is CPU-bound).
  • Performance matches expected.

If none of these work

If affinity doesn’t persist: Process restart resets: use Method 2 or 3 for persistence. For multi-process apps: each subprocess has own affinity. Pin parent + children. For services: service affinity via Services.msc, registry, or services config. For Intel Thread Director on 12th gen+: Microsoft auto-pins via Thread Director. Manual pin may conflict. For AMD X3D chips: extra cache on one CCD. Pin gaming there. For chronic apps: Process Lasso. For DRM-protected apps: some games block affinity changes. Cannot pin.

Bottom line: Task Manager → Details → right-click process → Set affinity → pick cores. Or start /affinity 0F app.exe per launch. Process Lasso for persistent automated affinity rules.

ADVERTISEMENT