物理CPU就是计算机上实际安装的CPU,主板上实际插入的CPU数量。
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l其中的physical id就是每个物理CPU的id,有几个不同的physical id就有几个物理CPU。
uniq是为了去掉多个逻辑CPU属于同一个物理CPU的重复记录。
2. 物理CPU内核就是核心数,我们常常会听说多核处理器,其中的核指的就是核心数。通常每颗物理CPU的内核数都是固定的,单核CPU就是有1个物理内核,双核CPU就是有2个物理内核。
cat /proc/cpuinfo | grep 'core id' | uniq | wc -l总的CPU物理内核数 = 物理CPU数 * 每颗物理CPU的内核数
3. 逻辑CPU得力于多核技术,一个物理CPU可以有多个物理内核,可以把一个CPU当作多个CPU使用,为了与物理CPU区分开来,称其为逻辑CPU。没有开启超线程时,逻辑CPU的个数就是总的CPU物理内核数;开启超线程后,逻辑CPU的个数就是总的CPU物理内核数的两倍。
cat /proc/cpuinfo | grep 'processor' | wc -l 4. 超线程超线程是英特尔开发出来的一项技术,使得单个处理器可以象两个逻辑处理器那样运行,这样单个处理器以并行执行线程。这里的单个处理器也可以理解为CPU的一个核心;这样便可以理解为什么开启了超线程技术后,逻辑CPU的数目是核心数的两倍了。
如果支持超线程就是说同一个core下会有两个processors。另外,top命令中看到的CPU数目是逻辑CPU(输入top后再按1)。
5. 几核几线程如果计算机有一个物理CPU,是双核的,支持超线程。那么这台计算机就是双核四线程。 实际上几核几线程中的线程数就是逻辑CPU数。
对于两路四核超线程计算机,两路指计算机有2个物理CPU,每颗CPU中有4个物理内核,CPU支持超线程,就有2*4*2=16个逻辑CPU,这就是通常所谓的16核计算机。
6. 补充查看CPU的主频
cat /proc/cpuinfo | grep MHz | uniq直接获得CPU核心数
grep 'model name' /proc/cpuinfo | wc -l