物理CPU
物理CPU: 物理CPU是指插在主板上面的CPU芯片。即指在主板上肉眼能看到的CPU的个数。一般而言,个人台式机或笔记本上只会有一个物理CPU芯片。而服务器主板上往往有多个物理CPU。
Linux查看物理CPU数量
一般而言,物理CPU个数可以通过 physical id来判别。physical id:CPU的物理封装的编号,从0开始依次编码;
cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l
在VMware下面,这个指虚拟插槽数,其实也是对应的物理CPU数量。这个涉及CPU的虚拟化技术。
CPU核数
物理核
一块CPU上面能处理数据的芯片组的数量,例如,日常中说的双核,四核就是指的CPU核心。
Linux系统:
Linux系统可以通过cpu cores或core id来查看物理核数。
cpu cores: 每个物理封装上的物理核心数目;
core id: 当前物理核心在物理封装上的编号
[root@DB-Server ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 2
[root@DB-Server ~]# cat /proc/cpuinfo | grep 'core id' | sort | uniq | wc -l
2
[root@DB-Server ~]# cat /proc/cpuinfo | grep -E "physical id|cpu cores" | sed 'N;s/\n/ /' | sort | uniq
physical id : 0 cpu cores : 2
[root@mylnx14 ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 2
[root@mylnx14 ~]# cat /proc/cpuinfo | grep 'core id' | sort | uniq | wc -l
2
[root@mylnx14 ~]# cat /proc/cpuinfo | grep -E "physical id|cpu cores" | sed 'N;s/\n/ /' | sort | uniq
physical id : 0 cpu cores : 2
physical id : 1 cpu cores : 2
physical id : 2 cpu cores : 2
physical id : 3 cpu cores : 2
逻辑核(逻辑CPU)
CPU的逻辑核也叫逻辑CPU,它只用SMT技术将物理核虚拟而成的逻辑处理单元。CPU逻辑核是超线程技术下的产物,如果没有超线程技术,有多少颗物理CPU核心,
OS就认为有多少颗CPU;OS是依据CPU的外部接口来识别CPU数据,而不是依据CPU的实际内部构造;所以超线程技术会使OS识别出更多颗CPU.如下所示:
Linux 平台:
查看每个物理封装下逻辑cpu的数目,可以通过siblings来查看。siblings: 每个物理封装上的逻辑核心数目;
[root@DB-Server ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 2
[root@DB-Server ~]# cat /proc/cpuinfo |grep "siblings" | uniq
siblings : 4
[root@mylnx14 ~]# cat /proc/cpuinfo |grep "siblings" |uniq
siblings : 2




