Linux查看物理CPU个数、核数、逻辑CPU个数

#总核数 = 物理CPU个数 X 每颗物理CPU的核数
#总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

#查看物理CPU个数

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

#查看每个物理CPU中core的个数(即核数)

cat /proc/cpuinfo| grep "cpu cores"| uniq

查看逻辑CPU的个数

cat /proc/cpuinfo| grep "processor"| wc -l

查看CPU信息(型号)

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
另外,top命令中看到的CPU数目是逻辑CPU(输入top后再按1

Linux查看物理CPU个数、核数、逻辑CPU个数
参考链接(https://www.cnblogs.com/emanlee/p/3587571.html)
(https://www.jianshu.com/p/fcc49d7a0073)

基本概念

物理CPU:

物理CPU就是插在主机上的真实的CPU硬件,在Linux下可以数不同的physical id 来确认主机的物理CPU个数。

核心数:

物理CPU下一层概念就是核心数,我们常常会听说多核处理器,其中的核指的就是核心数。在Linux下可以通过cores来确认主机的物理CPU的核心数。

逻辑CPU:

核心数下一层的概念是逻辑CPU,逻辑CPU跟超线程技术有联系,假如物理CPU不支持超线程的,那么逻辑CPU的数量等于核心数的数量;
如果物理CPU支持超线程,那么逻辑CPU的数目是核心数数目的两倍。在Linux下可以通过 processors 的数目来确认逻辑CPU的数量。

超线程:

超线程是英特尔开发出来的一项技术,使得单个处理器可以象两个逻辑处理器那样运行,这样单个处理器以并行
执行线程。
这里的单个处理器也可以理解为CPU的一个核心;这样便可以理解为什么开启了超线程技术后,逻辑CPU的数目是核心数的两倍了。