我们知道CPU对于服务器来说非常重要,下面我们从几个方面介绍linux服务器CPU相关信息:
先要理解以下几个概念:
1、一台物理机的物理CPU的个数
2、一个CPU上的核数
3、一个核上面支持的线程数
有下面的计算公式:
总核数 = 物理CPU个数 X 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 1.查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
显示结果:1
表示服务器只有一个物理CPU
# 2.查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
显示结果:8 Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
前面8表示总逻辑CPU数,后面表示CPU信息
# 2.查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
显示结果:cpu cores : 4
表示物理CPU的核数为4
# 3.查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
显示结果:8
表示服务器逻辑CPU个数8
CPU架构
多个物理CPU,各个CPU通过总线进行通信,效率比较低,如下
多核CPU,不同的核通过L2 cache进行通信,存储和外设通过总线与CPU通信,如下:
多核超线程,每个核有两个逻辑的处理单元,两个线程共同分享一个核的资源,如下:
从上面信息我们可以知道我的服务器有1个物理CPU,它有4核,1个核上面支持的线程数为2
属于多核超线程,每个核有两个逻辑的处理单元,两个线程共同分享一个核的资源。所以总共有4*2=8个逻辑CPU