基本概念
- 物理CPU:
物理CPU就是插在主机上的真实的CPU硬件,在Linux下可以数不同的physical id 来确认主机的物理CPU个数。
- 核心数:
物理CPU的下一层概念就是核心数,我们常常会听说多核处理器,其中的核指的就是核心数。在Linux下可以通过查看 cores 来确认主机的物理CPU的核心数。
- 逻辑CPU:
核心数下一层的概念是逻辑CPU,逻辑CPU跟超线程技术有联系,假如物理CPU不支持超线程的,那么逻辑CPU的数量等于核心数的数量;
如果物理CPU支持超线程,那么逻辑CPU的数目是核心数数目的两倍(目前的超线程技术主流的是2倍)。在Linux下可以通过查看 processors 的数目来确认逻辑CPU的数量。
- 超线程:
超线程是英特尔公司开发出来的一种技术,使得单个处理器可以像两个逻辑处理器那样运行,这样单个处理器以并行执行线程。
这里的单个处理器也可以理解为CPU的一个核心;这样便可以理解为什么开启了超线程技术后,逻辑CPU的数目是核心数的两倍了。
Linux下用命令查看各项值
关于CPU的一些信息可在 /proc/cpuinfo 这个文件中查看:
cat /proc/cpuinfo
可以看到里面的内容是以 processor (也就是逻辑CPU)为基本单元进行划分的:
每个processor 下的 core id表示这个逻辑CPU属于哪个核心,而physical id则表示这个核心或者这个逻辑CPU属于哪个物理CPU。
了解这些信息,便可以方便地查看上面说到的那些参数。
- 1、查看物理CPU数量
物理CPU就是不同的phycical id的个数,可通过下面命令实现: