完整的vSphere新手在这里…
背景:
所以,我有一个12核心机器上有24个虚拟机。 目前,这些虚拟机之间的所有处理能力是相同的。
问题是:
我可以configuration一个VM给予两个CPU值得处理,而不pipe其他机器上发生了什么?
我的研究:
我在vSphere中尝试了两件事情…
我把一台虚拟机的预留和限制设置为与两个内核相同。 为了testing我的目标是否已经达到,我测量了当其他虚拟机什么都不运行时以及其他虚拟机运行CPU密集型操作时需要用来压缩文件的时间。 我预计gzip文件的时间是相同的,因为这个虚拟机获得一些处理的优先级。 不幸的是,当其他虚拟机运行时,gzip文件的时间要比其他虚拟机没有运行时多。
我试着将超线程核心共享模式设置为“内部”,希望这意味着我的虚拟机至less可以获得一个完整的内核。 这也没有工作。
提前致谢!
您可以通过设置较高的份额来将该机器设置为优先于其他机器。 更多信息在这里。
CPU资源分配的工作原理如下:1虚拟socket CPU = 1000的正常份额。
所以当你给2个vCPU时,你将有一个2000的份额,而且这个VM将拥有比物理主机处理更多的优先级,而VM只有1000个。
您可以在任何虚拟机上通过编辑设置来欺骗configuration,并在“资源”选项卡中定义资源分配(低,正常,高甚至自定义)。
低会给你一个等于500 x nb vCPU的份额。
正常会给你一个等于1000 x nb vCPU的份额。
High会给你一个等于2000 x nb vCPU的份额。
自定义会给你一个等于你input的份额
为了这种目的,最好避免设置虚拟机的限制。