|
https://learn.microsoft.com/zh-c ... e-hyper-v-cpugroups
默认情况下虚拟机能使用所有核心
然后假如我只给虚拟机分配了2个核心,我想让这个虚拟机强制分配到cpu的0和1核心上
可以在任务管理器里面手动更改相关性
但是有点麻烦
然后微软可以用这个工具手动更改
用管理员打开powershell
第一步:查看CPU信息
./CpuGroups.exe GetCpuTopology
第二步:创建组
提示:ID必须是这种格式的,其他格式的都报错
./CpuGroups.exe CreateGroup /GroupId:00000000-0000-0000-0000-000000000001 /GroupAffinity:0,1,2,3
第三步:查看组
./CpuGroups.exe GetGroups
查看指定组的信息
./CpuGroups.exe GetGroups /GroupId:00000000-0000-0000-0000-000000000001
第四步:分配组
查看虚拟机信息
./CpuGroups.exe GetVmGroup
把虚拟机绑定到指定的组
./CpuGroups.exe SetVmGroup /VmName:QQ /GroupId:00000000-0000-0000-0000-000000000001
第五步:取消分配组
./CpuGroups.exe SetVmGroup /VmName:QQ /GroupId:00000000-0000-0000-0000-000000000000
修改分配的组的方式是:
先取消,再重新分配
[直接重新分配不生效]
一些说明:
重新分配组以后是立刻生效的,虚拟机开着也是立刻生效
用这个工具分配组以后重启物理服务器,分配的组也是保存的[已经重启测试过了]
其他操作:
删除组
./CpuGroups.exe DeleteGroup /GroupId:36AB08CB-3A76-4B38-992E-000000000001
设置CPU配额
配额从0-65536 这个是限制,32768相当于只给50%性能 实测确实是这样,限制50%以后CPU-Z跑分只有50%了
./CpuGroups.exe SetGroupProperty /GroupId:36AB08CB-3A76-4B38-992E-000000000001 /CpuCap:32768
./CpuGroups.exe SetGroupProperty /GroupId:00000000-0000-0000-0000-000000000001 /CpuCap:65536
|
|