Hyper-V处理器限制

我们最近购买了运行Hyper-V 2008 R2裸机的服务器。 该服务器有两个超线程四核英特尔至强处理器,所以如果我正确理解,这给了我们16个核心。 在Hyper-V中,我们创build了一个运行带有4个虚拟处理器的Windows Server 2008 R2的虚拟机。 处理器设置屏幕告诉我这代表了整个系统处理能力的25%。 这是否意味着剩余的75%不能被虚拟操作系统使用? 我们将运行其他一些虚拟机,但是这个虚拟机是用于SQL Server的,我们希望尽可能多的使用它。

vCPU只能映射到单个物理CPU。 你不能占用4个物理CPU,而使单个vCPU快4倍; 它不是如何工作。

Hyper-V仅限于将4个vCPU分配给VM(最后一次检查)。 如果你需要大量的CPU资源,那么就物理上来说,把CPU虚拟化开销添加到CPU密集型和平行的东西上是没有意义的。

而且,作为Holocryptic笔记,如果将4个vCPU分配给一个VM,那么在Hyper-V获得4个物理CPU核心运行之前,该VM不能运行。 根据你的configuration,这可能是一个主要的绊脚石(例如,如果你有一个4核vCPU虚拟机的6核心机器,一次只能运行一个,其他两个核心将永远不会使用)。 根据Jake Oshins的说法 ,任何版本的Hyper-V都不适用。 他指出,Hyper-V不使用群组调度CPU; 几乎所有其他的pipe理程序都这样做。 因此,如果一个物理CPU核心可用,Hyper-V可以使用它来运行多CPU VM。 (还提到,由于NUMA分区,Hyper-V可能不会使用当时可用的所有物理内核)

附注:SQL不一定会使用所有可以放在第一位的核心。 这实际上取决于你使用的是什么,以及负载是如何并行化的。

是的,克里斯说什么。 如果在Hyper-V虚拟机中需要多于4个CPU,则可以创build两个虚拟的SQL服务器,并分散您的数据库或物理。 根据您的SQL服务器许可证,您可以在虚拟环境中(在同一台物理主机上)添加更多的SQL服务器,而不会出现更多的许可成本,但请阅读SQL虚拟许可白皮书以获取更多信息。

我也同意,如果你的SQL运行在4个虚拟CPU的CPU上,那么你的应用程序利用率就会很高,或者SQL命令写得不好。

约4个CPU核心限制:

在VM的configuration文件部分:

[处理器] [count type =“integer”] 16 [/ count]

现在你有16核心的CPU。

更新:似乎需要截图

在这里输入图像描述

请遵循本指南

http://surminski.eu/2012/04/17/hyper-v-how-to-add-more-than-4-cores-to-a-virtual-machine/

您可以在VM的VHD目录的“Virtual Machines”目录下findvm xmlconfiguration文件,configuration文件将在虚拟机ID下命名。 下面的链接是一个参考。

参考: VM xmlconfiguration文件

请确保您使用以pipe理员权限打开的notepad / notepad ++编辑VM xmlconfiguration文件