Number of CPU's different in VM than configured

Morning all,

We’re migrating our Onapp cluster to ONE. So far very happy with it!
However - I’m running into a weird issue. I can’t rule out I’m missing something, hence the question here.

I have a Windows 2008 R2 x64 KVM guest. It’s running as intended, but it tells me it only sees 4 CPU’s. However - in it’s config I’ve defined 8:

[oneadmin@one ~]$ onevm show 820 | egrep ‘CPU=|VPU=’
CPU=“8”
VCPU=“8”

Screenshot from within the VM:

I’m running ONE 5.10.1.
Did I miss something here?

Hi Johan,

By default OpenNebula leave libvirt to assign the VCPU topology of the guest which is to define each vCpu on a separate socket. Depending on the Windows version there is a limit of up to 4 sockets…

In OpenNebula 5.10.x there is an option to set NUMA topology of the guest. Also there is an option to pin the VCPUs to the host threads but in this case you could experience problems with live-migration. AFAIK this live-migration issue will be resolved in later version of OpenNebula. So just defining the NUMA topology should be fine for your case. You should have something like this in the VM template:

TOPOLOGY = [
  CORES = "2",
  PIN_POLICY = "NONE",
  SOCKETS = "2",
  THREADS = "2" ]

Hope this helps.

Best Regards,
Anton Todorov

That was the fix indeed, thanks!