V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangyuyang3
V2EX  ›  分享发现

12 代酷睿环境下,将 hyper-v 监控程序计划程序类型修改为 classic 会导致 Vmware 虚拟机无法屏蔽小核运行

  •  
  •   wangyuyang3 · 2022-11-10 14:21:23 +08:00 · 826 次点击
    这是一个创建于 550 天前的主题,其中的信息可能已经有所发展或是发生改变。
    [ 1/背景:折腾 Hyper-v 的 CPU 控制]

    为了在 Hyper-v 体验处理器资源控制(如限制单个虚拟机占宿主机系统资源的百分比等等),需要将 hypervisorschedulertype 从默认的 root 调整为 classic 或 core ,否则 Hyper-v 会提示“Hyper-V 未配置为启用处理器资源控制。”原因如下:

    “启用虚拟机监控程序根计划程序时,不支持 Hyper-V 提供的虚拟机处理器资源控制,因为根操作系统的计划程序逻辑正在全局管理主机资源,并且不知道 VM 的特定配置设置。 每个 VM 的 Hyper-V 处理器资源控制(例如上限、权重和保留)仅适用于虚拟机监控程序直接控制 VP 计划(如经典和核心计划程序类型)。”

    https://learn.microsoft.com/zh-cn/windows-server/virtualization/hyper-v/manage/manage-hyper-v-scheduler-types



    [ 2/问题:Vmware 的 CPU 调度失控]

    在正常情况下,Vmware WorkStation 最近的几个版本已经实现和 Hyper-V 并存。但在 12 代酷睿兼容性方面,Vmware/微软或者 intel 历时一年依旧没有解决 Vmware 负载随机性跑在小核被大核围观的问题。目前可以通过设置 vmware-vmx.exe 的 CPU 相关性或通过 vmx 配置文件解决。

    如前所述,为体验 Hyper-v 的处理器资源限制功能,根据官方文档并参考相关教程,在终端 /Powershell (管理员权限)下运行指令:
    bcdedit /set hypervisorschedulertype Classic 。
    重启后发现,与 Hyper-V 同时并存的 Vmware 性能出现问题。

    表现为,在 12 代酷睿 Win11 环境下,为 Vmware 虚拟机设置 CPU 相关性无任何效果,Vmware 几乎所有负载跑在了小核,任务管理器修改 /ProcessLasso/修改电源计划类型 /在 vmx 配置文件中屏蔽小核……所有传统的调度控制方法均无效。



    [ 3/解决:放弃 Hyper-v 自带的 CPU 资源控制]

    第一时间想到肯定是上述 Hyper-V 虚拟机监控程序计划程序类型的调整导致问题产生。
    重新回到终端 /Powershell (管理员权限)下运行指令:bcdedit /set hypervisorschedulertype Root
    重启后发现,Vmware 的 CPU 调度恢复正常,所有负载均跑在大核上。
    实测证明,12 代酷睿不适合使用 Hyper-v 的 CPU 资源控制功能。



    [ 4/附言:vmware 兼容性遗留问题]
    在 Win11+12 代酷睿环境下,Hyper-v 与 Vmware 共存时,使用任何方法控制 vmware 虚拟机的 CPU 相关性,都有概率导致 vmware 虚拟机无法启动(一般为初次启动时 /或者在已经运行 2 个 vmware 虚拟机后开启第 3 个),提示“无法打开…….vmx”。此时无需按照网上通说教程从主板完全屏蔽小核,或者放弃通过任务管理器或配置文件屏蔽小核,只需要在 Vmware WorkStation 虚拟机界面疯狂鼠标左键点击“开启此虚拟机”。

    实测,设置 Vmware 的相关性只需要调整 vmware-vmx.exe 和 mksSandbox.exe (这个是否需要存疑,但我个人习惯同时设置);但如果手抖将 vmware.exe 也设置了 CPU 相关性,会导致 vmware 虚拟机 100%无法开启(即上述“无法打开…….vmx”提示),此时疯狂点开机也无济于事。
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1135 人在线   最高记录 6547   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:41 · PVG 02:41 · LAX 11:41 · JFK 14:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.