我在物理专用服务器上安装了 Windows Server 2012 R2
我已经通过 Hyper-V 创建了一个虚拟机,并在其中安装了 Windows Server 2019
我的专用物理服务器有 12+12 总共 24 个核心
12 核是物理核,12 核是超线程
从专用服务器的 hyper-v 界面,没有选项可以设置创建的虚拟机有多少个物理核心和多少个逻辑核心
因此,我尝试在专用物理服务器中通过下面的命令从 powershell(以管理员身份运行)设置每个核心的线程数
Set-VMProcessor -VMName aa -HwThreadCountPerCore 2
//aa 是 hyper v 机器的名称
但是这个命令给出了下面的错误,但它应该可以工作
错误是什么以及为什么它不起作用?
我如何设置 X 数量的物理核心和 Y 数量的逻辑核心?
Set-VMProcessor : A parameter cannot be found that matches parameter name 'HwThreadCountPerCore'.
At line:1 char:28
+ Set-VMProcessor -VMName aa -HwThreadCountPerCore 2
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-VMProcessor], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.HyperV.PowerShell.Commands.SetVMProcessorCommand
此命令在我的个人电脑(Windows 10)上有效
答案1
通过在虚拟机内部使用 Hyper-V,您正在尝试使用 嵌套虚拟化。
文档给出了使用嵌套虚拟化的以下条件:
- Hyper-V 主机和客户机必须都是 Windows Server 2016/Windows 10 Anniversary Update 或更高版本。
- VM 配置版本 8.0 或更高版本。
- 具有 VT-x 和 EPT 技术的英特尔处理器 - 嵌套目前仅限于英特尔。
- 与二级虚拟机的虚拟网络存在一些差异。
由于 Windows Server 2016 是第一个支持该功能的版本,因此它无法在 Windows Server 2012 R2 上运行。您需要将主机升级到至少 Windows Server 2016。