I have access to two NUMA servers. One of them is Dell R720 and has these CPUs:
$ cat /proc/cpuinfo |grep Xeon|sort|uniq -c
24 model name : Intel(R) Xeon(R) CPU E5-2630L v2 @ 2.40GHz
The other is a HPE DL360 Gen8 and has these CPUs:
$ cat /proc/cpuinfo |grep Xeon|sort|uniq -c
24 model name : Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz
At work where we have many HPE Gen9 servers, I have been used to CPU numbering (socket0, socket1, socket0 HyperThreads, socket1 HyperThreads). It seems the HPE DL360 Gen8 uses this numbering:
$ cat /proc/cpuinfo |grep physical.id|uniq -c
6 physical id : 0
6 physical id : 1
6 physical id : 0
6 physical id : 1
But the Dell R720 server uses different numbering:
$ cat /proc/cpuinfo |grep physical.id|uniq -c
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
My question is, what causes this difference? The servers have two slightly different kernel versions:
Dell R720:
$ uname -a
Linux dell 4.10.0-33-generic #37~16.04.1-Ubuntu SMP Fri Aug 11 14:07:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
HPE DL360 Gen8:
$ uname -a
Linux hpe 4.11.0-14-generic #20~16.04.1-Ubuntu SMP Wed Aug 9 09:06:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Is this caused by different kernel versions? Or by different CPUs? Or by different motherboards / BIOSes?
Edit: I updated the kernels on both machines and rebooted, so now both machines use exactly the same kernel version. Nevertheless, the difference is still there.
Best Answer
Stop the grepping and
uniq
and runlscpu
andlstopo --of png > server.png
and visualize the results...