vSphere – 分配100%的CPU到1 VM / 88%的效率

编辑2:我的应用程序受益于超线程

答:是的,我知道这项技术是什么,它做了什么

B.是的,我知道物理核心和逻辑核心之间的区别

C.是的,closuresHT使渲染运行速度变慢,这是预期的!

D.不,当我将所有逻辑(是逻辑的)内核分配给一个虚拟机时,如果您从VMWare读取白皮书,您将知道调度程序会生成物理硬件的拓扑图,并在分配时使用该映射将所有逻辑内核分配给一个虚拟机,在Windows中生成16个逻辑处理器,就像在物理硬件上安装虚拟机一样。 经过5次testing后,这个安排产生了最快(最高效)的渲染时间。

F.有问题的应用程序是3ds max 2014使用加力燃烧器和Mental Ray渲染器。


TL | DR:我(有时候)想要在vSphere上运行一个虚拟机,尽可能多的CPU效率,怎么样?

我希望能以一种非标准的方式使用VMWare的ESXI / vSpherepipe理程序。

通常人们使用虚拟机pipe理程序在一个系统上同时运行多个虚拟机。 我想使用hypervisior让我快速切换应用程序,但一次只运行一个虚拟机/应用程序。

这实际上是一个宠物项目,我有一个5节点renderfarm(即节点2x英特尔至强E5540),大部分保持closures(当我不渲染,我不需要运行这些机器)。 这似乎浪费了宝贵的计算时间,所以我希望在不渲染(通用40核心/ 80线程计算集群)的情况下将它们用于其他事物。

我希望vSphere可以让渲染节点虚拟机的渲染和其他事情时,不旋转。 问题是,当渲染虚拟机运行时,我真的非常需要高效率的CPU。

我正在使用渲染作业作为基准,在虚拟机上获得大约88%的速度,因为我可以使用非虚拟机设置。 我希望接近95%,有什么想法,我怎么能到那里?

编辑:详细信息:

渲染虚拟机使用的资源,我不完全明白为什么这个酒吧不满:

在这里输入图像说明

该VM的资源设置:

在这里输入图像说明

即使虚拟机不显示使用100%的资源,主机也会:

在这里输入图像说明

我不完全理解这里的百分比,这是所有这些虚拟机的时候呢? 另外我没有configuration其他虚拟机保留10%:

在这里输入图像说明

最后主机确实显示为被充分利用,尽pipe这里没有显示,但是MHz利用率更低(IE不是100%):

在这里输入图像说明

虚拟机configuration:

在这里输入图像说明

我知道这是一个有趣的案例,但是我觉得这个问题是有效的,并且可以帮助其他人处理类似的情况(尽pipe我承认这个案例很具体)。

我认为你已经达到了使用这些旧的Xeon的最大可能性,尽pipe不像ewwhite,我不相信超线程会给你带来任何问题。 实际上,至less从ESXi 5.0开始, VMware已经build议在大多数工作负载中使用超线程 ,而你自己的testing似乎证实你正从HT中受益。 正如ewwhite正确地指出,虽然使用HT会使vSphere中的某些指标出现奇怪。

我认为你有一个明显的问题,也可能是一个非显而易见的问题:

首先是虚拟化本身产生的开销,你永远无法完全消除的明显问题。 在CPU的情况下,必须对某些指令进行虚拟化,以便pipe理程序正确地将一个虚拟机与另一个虚拟机相隔离。 因此,代替直接执行指令(如在裸机中),pipe理程序将拦截该调用并执行几条指令。 根据以往的经验,我们可以看到, 87-90%是关于你应该期望的CPU 。 通过这样做会需要在硬件方面取得重大进展。 如果你现在看到91%的本地CPU性能,那么它可能会达到它所能达到的水平。

其次是NUMA的非显而易见的问题。 这是多处理器系统的一个问题,其中一部分内存在被最近的CPU访问时速度较快,而另一些CPU访问时速度较慢。 根据渲染作业处理内存的方式,通过在两个虚拟机中运行两个并行渲染器可能会看到一些好处,每个虚拟机都固定在特定的CPU上,并且总是可以访问稍快的内存。 (如果您在一台主机上运行两台虚拟机,每台虚拟机使用一半的可用vCPU,则ESXi应该自动为您sorting 。)如果您在裸机上没有看到此问题,则尝试此操作可能会获得很less的好处。

您错误地configuration了您的虚拟机和主机。

需要考虑的事项:

  • 如果你有一个计算繁重的过程,你可能想要禁用超线程。
  • 超线程(逻辑)内核与物理内核一样!
  • 英特尔E5540 CPU可以追溯到2009年。它们是四核CPU。 您将拥有8个物理核心和8个逻辑核心(总计16个)。
  • 如果您已经configuration了一个具有16个vCPU的单个虚拟机,请缩小范围!
  • ESXi也需要一些资源。
  • 如果您不想禁用超线程,请尝试正确调整虚拟机的大小(8个vCPU)。

其他事情要做(一般)…

  • 将您的ESXi更新到当前版本和修补程序 。
  • 更新虚拟机的虚拟硬件(例如,vmx-09或vmx-10)。