yeunglee 发表于 2023-1-12 09:24

关于intel大小核调度在hyperV中的调度

想问一下各位,在hyperV使用大小核的调度表现如何?

现在最新的Windows10/11能否做到,尽量压榨性能,也就是在CPU允许的情况下,让hyperV的VM优先利用大核,不足再用小核。

我的场景并不需要每个核心的性能一致。只是希望CPU资源能高效利用就好。

oscar666 发表于 2023-1-12 09:34



你可以在任务管理器中指定CPU的核心,但是调度我就不太清楚了

yeunglee 发表于 2023-1-12 09:39

谢谢,这种方法不适合我说的场景。

另外,你说的这种方法能保证进程优先使用大核(大核不够的时候,小核也需要顶上)?

yeunglee 发表于 2023-1-12 09:40

本帖最后由 yeunglee 于 2023-1-12 09:42 编辑

oscar666 发表于 2023-1-12 09:34
你可以在任务管理器中指定CPU的核心,但是调度我就不太清楚了


谢谢,这种方法不适合我说的场景。

另外,你说的这种方法能保证进程优先使用大核(大核不够的时候,小核也需要顶上,不论进程是前台进程还是后台进程)?

zhuifeng88 发表于 2023-1-12 09:44

本帖最后由 zhuifeng88 于 2023-1-12 09:54 编辑

现在windows client系统的hyper-v默认用的是root scheduler, 在这个调度器下, 虚拟机的CPU使用表现为dom0下的一个进程, 可以通过任务管理器中直接设定那个进程的亲和性来改变虚拟机的CPU使用情况
具体参考
https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/manage/manage-hyper-v-scheduler-types

优先大/小也是和普通进程相同的, 取决于设置的电源模式, 区别只是efficiency模式在这种情况下并不通过前后台判别, 你可以手动在任务管理器下把vmmem进程设为efficiency模式来允许自动判断是否优先小核

gnattu 发表于 2023-1-12 09:45

Windows11的Hyper-V我用下来的感觉是和你说的很接近,Hyper-V可以回避掉VMware那样的窗口后台就小核的问题,毕竟Hyper-V的那个窗口只是个远程桌面连接不是虚拟机本身

但是一个虚拟机里拉超过大核心数量的vCore我还没有试过,这个我建议你去实际试试看

yeunglee 发表于 2023-1-12 09:47

gnattu 发表于 2023-1-12 09:45
Windows11的Hyper-V我用下来的感觉是和你说的很接近,Hyper-V可以回避掉VMware那样的窗口后台就小核的问题 ...

我就是手头没有大小核的CPU,所以想问一下各位。

你说的意思是指,VM分配的核心数不大于实际大核的数量,hyperV会都跑在大核上?

gnattu 发表于 2023-1-12 09:52

yeunglee 发表于 2023-1-12 09:47
我就是手头没有大小核的CPU,所以想问一下各位。

你说的意思是指,VM分配的核心数不大于实际大核的数量 ...

至少Windows11上我观察下来是的 不排除你VM里负载不够高会跑在小核上的可能性 我不是微软这里不能给你打包票,但是VM里我有比较大负载的时候我看到的都是在大核上的

yeunglee 发表于 2023-1-12 09:55

gnattu 发表于 2023-1-12 09:52
至少Windows11上我观察下来是的 不排除你VM里负载不够高会跑在小核上的可能性 我不是微软这里不能给你打 ...

谢谢你的信息

ForFreeKNW 发表于 2023-1-12 10:29

上服务器CPU 不用大小核了 我最近也在思考你的问题

ysc3839 发表于 2023-1-12 10:37

gnattu 发表于 2023-1-12 09:45
Windows11的Hyper-V我用下来的感觉是和你说的很接近,Hyper-V可以回避掉VMware那样的窗口后台就小核的问题 ...

VMware也是后台vmware-vmx.exe进程在跑的,我怀疑是VMware切到后台自动调整进程优先级的问题,总之比较奇怪。
只有VirtualBox是单进程,需要手动选择分离式启动,现在如何我不知道,很多年前的版本是这样的,界面崩了虚拟机也跟着崩了。

chainofhonor 发表于 2024-1-5 02:15

本帖最后由 chainofhonor 于 2024-1-5 02:16 编辑

楼主的目的是"让hyperV的VM优先利用大核,不足再用小核"

看了上面的回复
我补充一点我的想法

跨大小核调度会极大的影响程序 windows会分析你在物理机上运行的程序 但是虚拟机里面的程序系统并不知道 甚至如果虚拟机是linux 这就不归微软管了

所以我认为肯定是整个虚拟机都当作一个程序来看待的

然后虚拟机属于专业度较高的   
所以估计所有虚拟机都是调度运行在大核心上的

这只是我的猜想

其实我个人认为 重要的虚拟机可以不动(默认使用大核)   一些不那么重要的虚拟机可以手动进任务管理器 修改绑定的核心

其实也没必要操心,个人用的虚拟机没那么多幺蛾子直接不用操心调度现在的CPU性能都足够的


很多人有火力不足恐惧症带个软路由恨不得用I7说实话,真的没必要

yangzi123aaa20 发表于 2024-1-5 02:21

之前看到的说法是虚拟机里面的程序运行中发生跨大小核调度会直接把程序干崩溃[震惊]

YsHaNg 发表于 2024-1-5 05:27

chainofhonor 发表于 2024-1-4 18:15
楼主的目的是"让hyperV的VM优先利用大核,不足再用小核"

看了上面的回复


Linux用wsl内核不会有问题 优先大核 然后小核 最后超线程 甚至Linux gui app也没有问题
页: [1]
查看完整版本: 关于intel大小核调度在hyperV中的调度