那么逻辑cpu核心是什么(与物理cpu核心相反)?


48

我一直在搜寻如何找到一台计算机中的CPU数量,但发现了一些帖子,但由于有些人提到您获得了逻辑核与物理核等而感到困惑,因此逻辑核与物理核
之间的区别是什么?有没有办法我只能获得物理核心?还是在我们的计数中包括逻辑核心有意义?

Answers:


62

物理核心就是CPU中的物理核心。逻辑核心是单个核心同时执行2项或多项任务的能力。这源于早期的Pentium 4 CPU能够执行所谓的超线程(HTT)的功能

这只是玩了一场游戏,其中核心子组件未用于某些类型的指令,而另一条长时间运行的指令可能已在执行。因此,CPU实际上可以同时处理2件事情。

较新的内核是更成熟的CPU,因此它们可以同时处理多个事情,但与物理内核不同,它们并不是真正的CPU。在标题为“ 英特尔酷睿i5和酷睿i7:英特尔的主流Magnum Opus ”的这篇文章中,您可以在tomshardware上阅读有关超线程功能与内核的物理功能的限制的更多信息。

您可以使用以下lscpu命令查看框的分类:

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
CPU(s):                4
Thread(s) per core:    2
Core(s) per socket:    2
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 37
Stepping:              5
CPU MHz:               2667.000
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

在上面,我的Intel i5笔记本电脑总共有4个“ CPU”

CPU:4

其中有2个物理核心

每个插槽的核心数:2

每个线程最多可以运行2个线程

每个核心线程数:2

与此同时。这些线程是核心的逻辑功能。


我没有lscpu。是否有其他工具?
吉姆(Jim)

1
使用的原始信息lscpu在此处公开:cat /proc/cpuinfo。您的操作系统是什么?
slm

1
@ThomasWeller-在这里看到我的另一个助手-unix.stackexchange.com/questions/113544/…
slm

1
Core(s) per socket时间Thread(s) per core: 2= CPU(s): 4?正确?
user3019105

1
@ user3019105-正确
slm

12

物理核心是物理核心的数量,即实际的硬件组件。

逻辑核心数是物理核心数乘以通过使用超线程可以在每个核心上运行的线程数。

例如,我的4核处理器每个核运行两个线程,因此我有8个逻辑处理器。


因此,仅当使用支持超线程的处理器时,此数字才有意义吗?那是什么意思呢?一次仍然有一个线程占用每个cpu吗?那么这个数字是什么意思呢?
吉姆(Jim)

那么我打算获得哪个号码?
吉姆(Jim)

不一定,例如,同时多线程允许两个线程在单个内核上同时运行。还有其他许多优点。
灰烬

我看一下物理核心的数量。
灰烬

1

超线程技术允许单个物理处理器内核像两个逻辑处理器一样工作。

因此,单个处理器内核可以同时执行两个独立的线程。

英特尔将物理处理器称为插槽。

超线程使物理处理器的行为就像具有两个物理处理器(称为逻辑处理器)一样。为什么?

尽管超线程不会使系统性能提高一倍,但它可以通过更好地利用空闲资源来提高性能,从而为某些重要的工作负载类型带来更高的吞吐量。在繁忙的内核的一个逻辑处理器上运行的应用程序可以期望其在非超线程处理器上单独运行时获得的吞吐量略高于一半。


摘要


物理处理器是我们可以看到并跌倒的。

逻辑处理器就像一个物理核心,充当两个物理核心


链接到vmware doc的链接。
slm

0
$ sudo dmidecode |egrep "Socket Designation: Proc|((Thread|Core) Count)"
Socket Designation: Proc 1
        Core Count: 14
        Thread Count: 28
Socket Designation: Proc 2
        Core Count: 14
        Thread Count: 28

两个插座。每个插槽具有14个物理核心。每个核心都有两个线程(28/14)。逻辑“ cpus”或逻辑处理单元的总数为56(这就是“ top”和其他一些命令将显示为“ cpus”的数量)。


让我感到困惑的是,在使用您的方法的i3-3220上,我得到了核心计数2和线程计数2(= 4),但是lscpu shows CPUs 4 and threads per 2 (=8) but lshw -C cpu`显示了16个逻辑cpu的编号为0-15
Geek Elder Geek

dmidecode会解释BIOS中的内容。不确定您的情况到底有什么问题,例如,您可能在BIOS中禁用了超线程或类似功能。lscpu和lshw是操作系统命令,因此请显示已识别的操作系统内核。处理器的Intel规格显示2核4线程。
塔加

禁用超线程是否不会减少逻辑核心而不是逻辑核心?
年长者怪胎

我知道您得到了dmidecode报告的2个核心2个线程,而不是i3-3220拥有的2个核心4个线程的实际线程数/核心数。因此较小。那只是一个猜测,我不知道您是否在BIOS中实际上禁用了超线程。
塔加

似乎我误解了lscpu输出,实际上总共有4个线程,但是“ lshw -C cpu`显示了16个逻辑CPU”,我不确定该怎么做。
年长者怪胎
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.