<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
</head><body style="">
<div>
Hello,
</div>
<div>
</div>
<div>
You have a NUMA (Non Uniform Memory Access) machine, which mean that each processor has its own memory controller.
</div>
<div>
virsh nodeinfo give you 2 NUMA cells with 1 CPU socket each: 2 NUMA cells x 1CPU socket x 6 Core(s) per socket x 2 threads per core = 24 "cores".
</div>
<div>
</div>
<div>
The NUMA concept is really important, especially in virtualization.
</div>
<div>
If you have a virtual machine with vCPUs spread across more than one NUMA cell, performances will drop drastically.
</div>
<div>
</div>
<div>
Maybe you cannot assign more than 4 cPUs to your VM because Libvirt cannot pin them all on the same NUMA cell ...
</div>
<div>
You can try to specify the NUMA architecture in the xml config.
</div>
<div>
</div>
<div>
Br,
</div>
<div>
Bertrand.
</div>
<div>
<br/>Le 24 octobre 2012 à 17:14, Zoltan Frombach <zoltan@frombach.com> a écrit :
<br/>> Hi,
<br/>>
<br/>> Please let me know in case I am posting my question to the wrong forum.
<br/>> I apologize if that is the case!
<br/>>
<br/>> Here is my question:
<br/>>
<br/>> We run CentOS 6.3 on a server with dual Xeon CPU's. Our "dual blade"
<br/>> server uses this motherboard:
<br/>> http://www.supermicro.com/products/motherboard/Xeon/C600/X9DRT-HF.cfm
<br/>>
<br/>> We have two of these CPUs installed and working:
<br/>> Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
<br/>> (
<br/>> http://ark.intel.com/products/64594/Intel-Xeon-Processor-E5-2620-15M-Cache-2_00-GHz-7_20-GTs-Intel-QPI
<br/>> )
<br/>>
<br/>> cat /proc/cpuinfo correctly reports a total of 24 cores (2 x 6 phisycal
<br/>> cores plus 2 x 6 hyperthreading cores)
<br/>>
<br/>> However, I get this output from virsh nodeinfo :
<br/>>
<br/>> # virsh nodeinfo
<br/>> CPU model: x86_64
<br/>> CPU(s): 24
<br/>> CPU frequency: 2000 MHz
<br/>> CPU socket(s): 1
<br/>> Core(s) per socket: 6
<br/>> Thread(s) per core: 2
<br/>> NUMA cell(s): 2
<br/>> Memory size: 16303552 kB
<br/>>
<br/>> As you can see, virsh nodeinfo reports only 1 CPU socket while in fact
<br/>> we have two CPU's.
<br/>>
<br/>> I would like to know if this is normal? Why does virsh reports only one
<br/>> physical CPU ??
<br/>>
<br/>> Also, when we try to run a guest OS (Debian Linux "squeeze") with more
<br/>> than 4 vcpu's assigned to the VM, the guest OS won't boot up. The
<br/>> guest's kernel stuck on a screen right after it detected the /dev/vda
<br/>> block device and its partitions. We're using the VirtIO driver, of
<br/>> course. If I assign only 4 (or less) vcpu's to the guest OS it works
<br/>> fine. I have tried to upgrade the Linux kernel on the guest from debian
<br/>> backports, it did not help, we're experiencing the same issue with both
<br/>> the 2.6.32 and 3.2 Linux kernels. What could be causing this?
<br/>>
<br/>> On the host, we use the Linux kernel that came with CentOS 6.3 :
<br/>> 2.6.32-279.11.1.el6.x86_64 #1 SMP Tue Oct 16 15:57:10 UTC 2012 x86_64
<br/>> x86_64 x86_64 GNU/Linux
<br/>>
<br/>> Thanks,
<br/>>
<br/>> Zoltan
<br/>> _______________________________________________
<br/>> CentOS-virt mailing list
<br/>> CentOS-virt@centos.org
<br/>> http://lists.centos.org/mailman/listinfo/centos-virt
</div>
</body></html>