Linux-cpu-socket/core/processor

这里有几个概念:

 

1、一台物理机的物理CPU的个数 socket

2、一个CPU上的核数 core

3、一个核上面支持的线程数 processor

 

有下面的计算公式:

 

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 

# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

 

# 查看CPU信息(型号)

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

        Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz

 

# 查看物理CPU个数(socket)

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

2

# 查看每个物理CPU中core的个数(core)

cat /proc/cpuinfo| grep "cpu cores"| uniq

cpu cores    : 6

 

# 查看逻辑CPU的个数 (processor)

cat /proc/cpuinfo| grep "processor"| wc -l

24

 

从上面执行的结果来看,socket:2个,每个socket有6个core,打开了超线程,每个core有2个processor

 

CPU架构

 

多个物理CPU,各个CPU通过总线进行通信,效率比较低,如下

多核CPU,不同的核通过L2 cache进行通信,存储和外设通过总线与CPU通信,如下:

多核超线程,每个核有两个逻辑的处理单元,两个线程共同分享一个核的资源,如下: 

原文地址:https://www.cnblogs.com/jeancheng/p/13045016.html