我可以访问两个NUMA服务器.其中一个是戴尔R720,并有这些cpu:
$cat /proc/cpuinfo |grep Xeon|sort|uniq -c 24 model name : Intel(R) Xeon(R) cpu E5-2630L v2 @ 2.40GHz
另一种是HPE DL360 Gen8并具有以下cpu:
$cat /proc/cpuinfo |grep Xeon|sort|uniq -c 24 model name : Intel(R) Xeon(R) cpu E5-2630 0 @ 2.30GHz
在我们有许多HPE Gen9服务器的工作中,我已经习惯了cpu编号(socket0,socket1,socket0 HyperThreads,socket1 HyperThreads).似乎HPE DL360 Gen8使用了这个编号:
$cat /proc/cpuinfo |grep physical.id|uniq -c 6 physical id : 0 6 physical id : 1 6 physical id : 0 6 physical id : 1
但Dell R720服务器使用不同的编号:
$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
我的问题是,是什么导致了这种差异?服务器有两个略有不同的内核版本:
戴尔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
这是由不同的内核版本引起的吗?还是由不同的cpu?或者通过不同的主板/ BIOS?
编辑:我更新了两台机器上的内核并重新启动,所以现在两台机器都使用完全相同的内核版本.尽管如此,差异仍然存在.
解决方法
停止grepping和uniq并运行lscpu和lstopo –of png> server.png并可视化结果……
[root@LA_Specialty ~]# lscpu Architecture: x86_64 cpu op-mode(s): 32-bit,64-bit Byte Order: Little Endian cpu(s): 24 On-line cpu(s) list: 0-23 Thread(s) per core: 2 Core(s) per socket: 6 Socket(s): 2 NUMA node(s): 2 Vendor ID: GenuineIntel cpu family: 6 Model: 62 Model name: Intel(R) Xeon(R) cpu E5-2643 v2 @ 3.50GHz Stepping: 4 cpu MHz: 3501.000 BogoMIPS: 7013.88 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 25600K NUMA node0 cpu(s): 0-5,12-17 NUMA node1 cpu(s): 6-11,18-23