1 ---------------------------------------------------------------------------------
此条目内容摘自物理CPU、CPU核数、逻辑CPU、超线程
基本概念
-
物理CPU
物理CPU是插在主机上的真实的CPU硬件,在Linux下可以数不同的physical id 来确认主机的物理CPU个数。 -
核心数
物理CPU下一层概念是核心数,我们常常听到多核处理器,其中的核指的就是核心数。在Linux下可以通过cores来确认主机的物理CPU的核心数。 -
逻辑CPU
核心数下一层的概念是逻辑CPU,逻辑CPU跟超线程技术有关,假如物理CPU不支持超线程的,那么逻辑CPU的数量等于核心数的数量;
如果物理CPU支持超线程,那么逻辑CPU的数目是核心数数目的两倍。在Linux下可以通过 processors 的数目来确认逻辑CPU的数量。 -
超线程
超线程是英特尔开发出来的一项技术,使得单个处理器可以象两个逻辑处理器那样运行,这样单个处理器以并行执行线程。
这里的单个处理器也可以理解为CPU的一个核心;这样便可以理解为什么开启了超线程技术后,逻辑CPU的数目是核心数的两倍了。
查看CPU信息: cat /proc/cpuinfo
此命令会以逻辑CPU(即processor)为单元显示信息,如下图所示,图中只截取了一个processor的信息:
图中的core id表示这个逻辑CPU属于哪个核心,而physical id则表示这个核心或者说逻辑CPU属于哪个物理CPU。了解这些信息,便可以方便地查看各种参数。
查看物理CPU数量: cat /proc/cpuinfo | grep 'physical id' | uniq |wc -l
uniq是为了去掉多个逻辑CPU属于同一个物理CPU的重复记录,wc表示统计有多少单词(或多少行,或多少字符),-l表示仅列出行。
命令示例:
查看核心(core)数:cat /proc/cpuinfo | grep 'core id' | uniq |wc -l
查看逻辑CPU(即processor)数: cat /proc/cpuinfo | grep 'processor' | wc -l
----------------------------------------------------------------------------------