荣耀之链论坛

 找回密码
 立即注册
搜索
查看: 279|回复: 1

hyper-v用命令行绑定虚拟机使用的CPU核心

[复制链接]

1326

主题

2373

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10267
发表于 2024-5-30 12:29 | 显示全部楼层 |阅读模式
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


回复

使用道具 举报

1326

主题

2373

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10267
 楼主| 发表于 2025-6-15 16:42 | 显示全部楼层
以后有机会看看分配了组以后  在任务管理器里面看的CPU核心是不是自动绑定了的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

荣耀之链

GMT+8, 2025-6-18 03:56 , Processed in 0.012779 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表