Using Process Lasso to Manage CPU Affinities
A CPU affinity is the list of logical processors a process may run on. Windows lets every process use all of them, and Task Manager can change that only until the process exits. Process Lasso saves the affinity as a rule and applies it every time the process starts.
An affinity is a hard limit, so it helps only in specific cases: Keeping a game on the P-cores or the 3D V-Cache CCD, keeping a long background job off some cores, or fixing older software that breaks on many cores. When CPU Affinity Matters explains when it helps and when it doesn’t.
Set a Persistent CPU Affinity
- In Process Lasso, right-click the process and choose CPU Affinity > Always > Select CPU Affinity.
- Check the logical processors the process may use (CPU 0, CPU 1 and so on).
- Choose OK. The affinity is applied to the running process right away and to every later start.
To change only the running instance, use CPU Affinity > Current instead. To remove a rule, choose CPU Affinity > Always > None. Options > CPU > CPU Affinities lists every affinity rule. There you can add rules for processes that aren’t running, or delay a rule by a few seconds after the process starts. The delay helps with games that misbehave if their affinity changes while they load.
Shortcuts in the Select CPU Affinity Dialog
- Named affinities: Choose Save Named Affinity to save the current selection under a name, such as “P-cores” or “Cache CCD”. Saved names appear at the bottom of the CPU Affinity > Current and Always menus, so you can apply them to any process in one click.
- P-Cores and E-Cores: On Intel hybrid CPUs, these buttons select all performance or all efficient cores.
- CCD buttons: On Ryzen CPUs with more than one CCD, these select every logical processor on one CCD. On X3D models, the buttons show which CCD has the extra cache and which clocks higher.
- 0,2,4 and 1,3,5: Selects every other logical processor; click again for the other half.
- Processor group: On PCs with more than 64 logical processors, choose the group first.
To keep a process off the second logical processor of each core without picking processors yourself, choose CPU Affinity > Always > Disable SMT.
Tips
- Allow enough cores: If the allowed cores are busy, the process waits even while other cores are idle. Limit by physical cores, not logical processors, on CPUs with Hyper-Threading or SMT.
- Child processes inherit it: A program started by a limited process gets the same affinity, so a game launcher’s rule can carry over to the game.
- Consider CPU Sets: CPU Sets are a softer preference that Windows can override under load, and are often the safer choice for steering a game.
- Check the result: Watch the process in Process Lasso, and remove the rule if it doesn’t help.
For the details of each CPU type, see Intel Hybrid CPUs: Scheduling on P-Cores and E-Cores and AMD Ryzen X3D CPUs: Keeping Games on the 3D V-Cache CCD. The CPU Affinities documentation covers the rule format, and the CPU affinity calculator turns a set of processors into a mask for start /affinity.