CPU的核与线程-4核8线程
查看cpu信息
$ cat /proc/cpuinfo
物理CPU
物理CPU就是计算机上实际配置的CPU个数。
在linux上可以打开cat /proc/cpuinfo 来查看,其中的physical id就是每个物理CPU的ID,能找到几个physical id就代表计算机实际有几个CPU。
在linux下可以通过指令 grep ‘physical id’ /proc/cpuinfo | sort -u | wc -l 来查看物理CPU个数。
$ grep 'physical id' /proc/cpuinfo | sort -u | wc -l
1
cpu核数
linux的cpu核心总数也可以在/proc/cpuinfo里面通过指令cat /proc/cpuinfo查看的到,其中的core id指的是每个物理CPU下的cpu核的id,能找到几个core id就代表计算机有几个核心。
物理核
物理核数=cpu数(机子上装的cpu的数量)*每个cpu的物理核数
$ grep 'core id' /proc/cpuinfo | sort -u | wc -l
4
虚拟核
所谓的4核8线程,4核指的是物理数。通过超线程技术,用一个物理核 模拟两个虚拟核,每个虚拟核1个线程,总数为8线程。
在操作系统看来是8个核,但是实际上是4个物理核。
通过超线程技术可以实现单个物理核实现线程级别的并行计算,但是比不上性能两个物理核。
逻辑CPU
操作系统可以使用逻辑CPU来模拟出真实CPU的效果。在之前没有多核处理器的时候,一个CPU只有一个核,而现在有了多核技术,其效果就好像把多个CPU集中在一个CPU上。
当计算机没有开启超线程时,逻辑CPU的个数就是计算机的核数。而当超线程开启后,逻辑CPU的个数是核数的两倍。
$ grep 'processor' /proc/cpuinfo | sort -u | wc -l
8
8/4/1 = 2 看来已经开启了超线程
逻辑CPU的数量/物理核的数量/cpu核数 = 2 则开启了超线程
线程数量
实际上逻辑CPU的数量就是平时称呼的几核几线程中的线程数量,在linux的cpuinfo中逻辑CPU数就是processor的数量。
单核cpu和多核cpu
都是一个cpu,不同的是每个cpu上的核心数
多核cpu是多个单核cpu的替代方案,多核cpu减小了体积,同时也减少了功耗
一个核心只能同时执行一个线程
总结
1.物理cpu数:主板上实际插入的cpu数量,可以数不重复的 physical id 有几个(physical id)
$ grep 'physical id' /proc/cpuinfo | sort -u | wc -l
2.cpu核数:单块CPU上面能处理数据的芯片组的数量,如双核、四核等 (cpu cores)
$ grep 'core id' /proc/cpuinfo | sort -u | wc -l
3.逻辑cpu数:简单来说,它可使处理器中的1颗内核,如2颗内核那样在操作系统中发挥作用。
$ cat /proc/cpuinfo | grep 'cpu cores' | wc -l
这样一来,操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能,此时逻辑cpu=物理CPU个数×每颗核数x2。
总核数 = 物理CPU个数 × 每颗物理CPU的核数。总逻辑CPU数 = 物理CPU个数 ×每颗物理CPU的核数 × 超线程数。
所以这算双核的。
--完--
- 原文作者: 留白
- 原文链接: https://zfunnily.github.io/2020/10/CPU%E7%9A%84%E6%A0%B8%E4%B8%8E%E7%BA%BF%E7%A8%8B-4%E6%A0%B88%E7%BA%BF%E7%A8%8B/
- 更新时间:2024-04-16 01:01:05
- 本文声明:转载请标记原文作者及链接