我正在使用vagrant来实现vmware中机器的自动化。
到目前为止,我已经创建了具有2个CPU的计算机并且运行良好。
现在我需要创建一个具有8个内核的计算机,我收到此失败消息:
{
"sub": "nick",
"iat": "<some_date>",
"exp": "<some_date+1h>",
"scopes": [
"ROLE_USER",
"ROLE_ADMIN"
]
}
我知道每个插槽的速率应该是2个CPU,但是如何配置插槽的数量呢?
这是代码示例:
GenericVmConfigFault: The virtual machine cannot be powered on because the number of virtual CPUs is not a multiple of the number of cores per socket configured in the virtual machine.
感谢
答案 0 :(得分:1)
为每个插槽配置核心是VMWare中的VMX配置。假设您在Vagrant中正确安装了VMWare提供程序,在Vagrant.configure()块中,您可以将VMX配置作为哈希集传递到框中。在那里配置您的设置。您感兴趣的两个关键是:
cpuid.coresPerSocket
numvcpus
在VMWare的GUI中,有多少处理器&#34;和#34;每个处理器的核心数&#34;。两者相乘得到&#34; numvcpus&#34;,所以&#34; numvcpus / cpuid.coresPerSocker&#34;必须是一个整数,这是你得到的错误。让您的生活更轻松,只需将VMX值设置为1:)
编辑添加示例:
config.vm.provider "vmware_desktop" do |v|
v.vmx["cpuid.coresPerSocket"] = "1"
v.vmx["numvcpus"] = "4"
end
这将创建一个VMWare盒,充当4核CPU(每个插槽1个核心)。请注意,根据Vagrant的文档,VMX配置是该过程的最后一步,因此如果您设置numvcpus,它将覆盖流浪汉的CPU配置,即使在同一个流浪文件中也是如此。 coresPerSocket也会这样做,所以如果你遇到问题,你应该使用它而不是vagrant的CPU命令。
注意:根据VMWare的文档,VMX配置明确 NOT 向后兼容。他们没有证件。如果上述文档不适合您,确定所需设置的最佳方法是使用您正在使用的VMWare版本手工制作一个盒子,然后打开创建的VMX文件并找到您输入的值。 VMX文件中的所有值都是键值,可以使用上述模式插入/修改。如果要删除值,请将其设置为&#34; nil&#34; (没有引号)。