前言:
在谈到服务器的性能指标时,我们常提到CPU是双核、四核、八核等,按照我们的理解,肯定是核数越高性能越好,但到底怎么理解CPU的核数那?
1、CPU的核数的概念
通俗意义上讲,CPU单核就是一个人做同一件事,多核就是多个人同时做同一件事情。
- CPU:CPU即中央处理器,是电脑中一个最重要,最核心的东西。CPU主要的工作就是处理和运算数据,所以,CPU运算速度、主频、缓存、核心数,这几个参数决定了CPU的好坏,CPU的主频越高、缓存越大、核心数越多,这样的CPU运转速度就很快,处理图形图像文件起来,速度就越快,价格就会越贵。
- 多核心: CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数
接下来,我们来看一下CPU的基本架构。
多个物理CPU,CPU通过总线进行通信,效率比较低,如下:
多核CPU,不同的核通过L2 cache进行通信,存储和外设通过总线与CPU通信,如下:
多核超线程,每个核有两个逻辑的处理单元,两个核共同分享一个核的资源,如下:
2、在Linux系统中查看CPU的各项参数
下面就以笔者的linuxi服务器为例输出的各项参数,其中CPU是四核的:
#查看CPU信息(型号)
[root@AAA ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
4 Intel(R) Xeon(R) CPU E5-2403 v2 @ 1.80GHz
# 查看物理CPU个数
[root@AAA ~]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
1
# 查看每个物理CPU中core的个数(即核数)
[root@AAA ~]# cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 4
# 查看逻辑CPU的个数
[root@AAA ~]# cat /proc/cpuinfo| grep "processor"| wc -l
4
#查看CPU的各项指标
[root@AAA ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Stepping: 4
CPU MHz: 1800.057
BogoMIPS: 3600.11
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 10240K
NUMA node0 CPU(s): 0-3
参考链接:
Linux查看物理CPU个数、核数、逻辑CPU个数
linux下怎么查看cpu核数
处理器的核数、线程数,有什么作用?