cpu和core有什么区别?


10

lscpu我的电脑的输出看起来像-

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 69
Stepping:              1
CPU MHz:               1200.093
BogoMIPS:              3392.08
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

这是否意味着我有4个CPU和2个内核?


3
一个带有两个内核的芯片(插槽)由于超线程而在系统中总共显示四个CPU。
库萨兰达

2
@Kusalananda,CPU(s)中的lscpu给出cores一个物理CPU 中逻辑中央处理器的数量()。是不是
ss_iwe

@saisasanka是的。相关问题:unix.stackexchange.com/questions/88283/…–
dr_

1
@saisasanka在这种情况下,一个插槽中有4个CPU和2个内核。套接字是物理的,其核心也是如此。每个内核显示为2个CPU(“每个内核线程”)。
库萨兰达

CPU =每个插槽的内核*每个内核的线程
Amit24x7

Answers:


9

来自man lscpu

CPU
Linux内核使用的CPU 的逻辑CPU号。

CORE
逻辑核心号。一个内核可以包含多个CPU。

SOCKET
逻辑套接字号。一个插槽可以包含多个核心。

因此,是的,一个物理插槽中包含4个CPU,包含在2个物理内核中。

您可以从获得相同的信息cat /proc/cpuinfo

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


这是否意味着我一次可以运行4条指令?
alhelal

1
或多或少。这意味着它可以并行运行4个任务。参见HyperThreading:en.wikipedia.org/wiki/Hyper-threading
dr_17年

4

为避免逻辑处理器与物理处理器之间的混淆,

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


超线程技术允许单个处理器内核同时执行两个独立的线程。

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

摘要

  • 您的系统具有一个物理CPU(将其命名为X)
  • 超线程使CPU X的行为类似于两个CPU(CPU-X1和CPU-X2),但实际上却不一样。
  • 每个X 1和X 2可以同时执行两个螺纹,同时

总而言之,您拥有一个可以同时执行4个线程的物理处理器。


“在繁忙的内核的一个逻辑处理器上运行的应用程序可以预期,其在非超线程处理器上单独运行时所获得的吞吐量将略高于一半。” 这是否意味着超线程使内核仅以其一半以上的容量运行?
Waldir Leoncio
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.