Yes, but not as a per-VM “pin this machine to these cores” setting in Hyper-V Manager. Hyper-V’s documented host-processor affinity feature is CPU Groups. An administrator assigns virtual machines to a group and limits that group to selected host logical processors. CPU Groups are managed through the Host Compute Service (HCS), not through the usual Hyper-V Manager, WMI, or PowerShell management interfaces.
What Hyper-V processor affinity actually provides
Hyper-V schedules a VM’s virtual processors onto the host’s logical processors. CPU Groups let you define a set of host logical processors, place one or more VMs in that group, and restrict those VMs to the selected set.
This is group-level affinity. It is not a normal per-VM setting that selects specific physical cores through the Hyper-V Manager interface. Microsoft documents CPU Groups for Windows Server 2016 through Windows Server 2025, Windows 10 and 11, and Azure Local 2311.2 and later; verify the host release before relying on release-specific behavior.
How CPU Groups differ from ordinary VM processor settings
| Method | What it controls | Scope | Management path |
|---|---|---|---|
| CPU Groups | Which host logical processors can run the group’s VMs | A group of VMs | Host Compute Service; Microsoft identifies cpugroups.exe as an HCS-based utility |
Set-VMProcessor |
Virtual processor count, reserve, maximum, relative weight and related processor options | Individual VM configuration | Hyper-V PowerShell |
| Processor compatibility mode | The CPU feature set exposed to the guest for migration compatibility | Individual VM | Hyper-V VM settings; changing it requires the VM to be powered off |
The standard cmdlet can change how much processor capacity a VM receives, but it does not provide a physical logical-processor affinity mask. For example, Microsoft’s documented pattern Set-VMProcessor TestVM -Count 2 -Reserve 10 -Maximum 75 -RelativeWeight 200 changes virtual processor count and scheduling controls, not the host CPUs on which the VM may execute.
Recommended Free Tools
#1 Best Overall
What you can configure with Set-VMProcessor
-Count: the number of virtual processors presented to the VM.-Reserve: a processor reservation expressed through Hyper-V’s scheduling controls.-Maximum: a cap on processor consumption.-RelativeWeight: the VM’s relative priority when processor time is contested.
These settings manage allocation and scheduling. They should not be described as pinning a VM to particular physical cores.
How scheduler type changes the result
Microsoft states that per-VM processor controls such as caps, weights and reserves apply with the classic and core schedulers. They are unsupported when the host uses the root scheduler, where the root partition controls virtual-processor scheduling differently.
Rank #2
Before depending on a reserve, cap or weight, identify the host’s scheduler type and Windows release. A setting that is accepted by a command is not evidence that it has the intended effect under every scheduler.
CPU Groups are not managed in Hyper-V Manager
Microsoft explicitly excludes Hyper-V Manager, WMI and the standard PowerShell management interfaces from CPU Group management. The documented management layer is HCS, and Microsoft identifies cpugroups.exe as a utility that uses HCS.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
That distinction matters operationally: if your requirement is “keep these VMs on these host logical processors,” investigate the HCS-based CPU Group tooling for the exact Windows release rather than searching for an undocumented Hyper-V Manager checkbox or a Set-VMProcessor affinity parameter.
CPU Groups and the root partition
Microsoft describes default root virtual processors as mapped one-to-one to system logical processors, while guest virtual processors can run on available logical processors. CPU Groups provide a way to constrain selected VM workloads to a chosen subset, which can help separate workloads operationally. The documentation establishes the mechanism, not a guaranteed performance gain; measure your own workload before claiming that affinity improves throughput or latency.
Rank #4
Do not confuse compatibility mode with affinity
Processor compatibility mode reduces the processor capabilities presented to a VM so it can migrate between hosts with different CPU features. It does not select host cores or logical processors. Microsoft requires the VM to be powered off before this setting is changed.
Quick Recap
Best Value
A practical decision path
- Need to restrict execution to selected host logical processors? Use CPU Groups and the HCS-based management path. Plan the group membership and the logical-processor set for the VMs that belong together.
- Need to limit or prioritize processor consumption? Use the documented
Set-VMProcessorcontrols such as count, reserve, maximum and relative weight, after checking scheduler support. - Need live migration between hosts with different CPU features? Consider processor compatibility mode, and power off the VM before changing it.
- Need guaranteed performance? Treat affinity and resource controls as configuration tools, then validate latency, throughput and contention with workload-specific measurements. Hyper-V documentation does not promise a universal speedup.
Common mistakes
- Looking for a per-VM physical-core selector in Hyper-V Manager.
- Assuming
Set-VMProcessorexposes an affinity mask because it changes processor settings. - Using compatibility mode to try to pin a VM to CPUs.
- Applying reserves, caps or weights without checking whether the root scheduler is enabled.
- Assuming that restricting processors automatically improves performance without measuring the workload.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →

