我最近从一个使用过的CPU插槽(4核心+ HT = 8核心)升级到2个使用的CPU插槽(16核心)。
但是,我只能将8个内核分配给虚拟机。 当设置为16时,在“新VM向导”中默认为8,当从现有VM中更改时,将显示红色警告:“比物理CPU更多的VCPU可能会导致虚拟机性能下降。 点击确定仍然默认它为8核而不是16。

然而,我的xenhost(dom0)确实有16个CPU分配,实际上可以识别它们。

我想知道为什么我无法添加超过8个vCPU到一台机器。
在进行服务器升级之前,我也能够分配8个vCPU,所以它不能与HT相关。
XenServer在客户机中支持8个以上的虚拟CPU,但XenCenter GUI界面的硬限制为8个。如果要为guest虚拟机使用8个以上的VCPU,则必须通过“xe”命令行执行此操作:
xe vm-param-set uuid=your_vms_uuid VCPUs-at-startup=16 xe vm-param-set uuid=your_vms_uuid VCPUs-max=16
要find'your_vms_uuid',你可以使用:
xe vm-list name-label=VMname
其中“VMname”是您在XenCenter中分配的人类可读名称。
现在,给你分配8个以上的秘密,我必须警告你可能不想这样做 。 更多的vCPU不会自动获得更高的性能,特别是在此XenServer实例上运行多个VM的情况下。 也意识到一个HT CPU不等于一个完整的额外的CPU。
关于我能想到的唯一场景,你想把所有的物理CPU交给一个客人,那就是如果你正在做一个已经被certificate能够很好地扩展到一个应用程序的应用程序的1:1虚拟化您尝试使用的CPU数量。 否则,你只是在pipe理程序中造成额外的CPU调度开销。