代码改变世界

关于服务器的CPU的几个概念学习总结

2018-03-05 16:42  潇湘隐者  阅读(2165)  评论(0编辑  收藏  举报

 

物理CPU

 

 

 物理CPU: 物理CPU是指插在主板上面的CPU芯片。即指在主板上肉眼能看到的CPU的个数。一般而言,个人台式机或笔记本上只会有一个物理CPU芯片。而服务器主板上往往有多个物理CPU

 

 

 

 

Linux查看物理CPU数量

 

 

 

 

 一般而言,物理CPU个数可以通过 physical id来判别。physical idCPU的物理封装的编号,从0开始依次编码;

 

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

 

 VMware下面,这个指虚拟插槽数,其实也是对应的物理CPU数量。这个涉及CPU的虚拟化技术。

 

 

 

Windows查看物理CPU数量

 

  

 

   Windows平台可以可以用工具CPU-Z,对应的Socket就是主板上插CPU的槽的数目,也就是可以插入的物理CPU的个数。

 

clip_image001

 

 

 

 

2:使用wmic命令查看

 

 

如下所示,这个服务器是VMware下面分配了三个插槽,意味这个三个虚拟插槽数。代表三个物理CPU

 

 

clip_image002

 

clip_image003

 

 

 

CPU核数

 

物理核

 

      一块CPU上面能处理数据的芯片组的数量,例如,日常中说的双核,四核就是指的CPU核心。

 

 

 

Linux系统:

 

 

   Linux系统可以通过cpu corescore 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@DB-Server ~]# 
 
 
 
[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

 

 

 

 

 

Windows平台:

 

 

clip_image004

 

 

 

 

 

wmic命令查看,如下所示:

 

clip_image005

 

 

 

 

 

逻辑核(逻辑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

 

Windows 平台:

 

 

clip_image006

 

clip_image007

 

 

虚拟CPU(vCPU)

 

 

 

虚拟CPU是我们在做虚拟化时候,利用虚拟化技术,虚拟出来的CPU。一个物理CPU可划分成多个虚拟CPU使用。论vCPU离不开VM,因此vCPU的讨论都是在虚拟化时候,划分CPU才会讨论的问题。

 

如下VMware Sphere 5下截图所示,主机有2个物理CPU,每个物理CPU包含14个物理核,这样就可以虚拟出28个逻辑处理器。

 

 

clip_image008

 

 

 

超线程

 

 

一个CPU核就是一个物理线程,由英特尔开发超线程技术可以把一个物理线程模拟出两个线程来使用,使得单个核心用起来像两个核一样,以充分发挥CPU的性能。

 

 

 

 

 

参考资料:

 

http://blog.csdn.net/hittata/article/details/47757161