我的电脑的输出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 个核心?
答案1
从man lscpu
:
CPU
Linux 内核使用的 CPU 的逻辑 CPU 编号。CORE
逻辑核心数。一个核心可以包含多个CPU。SOCKET
逻辑套接字号。一个套接字可以包含多个核心。
所以,是的,您有 4 个 CPU,包含在 2 个物理内核中,包含在一个物理插槽中。
您可以从 获得相同的信息cat /proc/cpuinfo
。
答案2
为了避免逻辑处理器和物理处理器之间的混淆,
英特尔指的是物理处理器作为一个插座。
超线程技术允许单个处理器核心同时执行两个独立的线程。
虽然超线程不会使系统性能加倍,但它可以通过更好地利用空闲资源来提高性能,从而提高某些重要工作负载类型的吞吐量。在繁忙核心的一个逻辑处理器上运行的应用程序的吞吐量预计略高于在非超线程处理器上单独运行时获得的吞吐量的一半。
概括
- 您的系统有一个物理 CPU(我们将其命名为 X)
- 超线程使 CPU X 的行为类似于两个 CPU(CPU - X1 和 CPU - X2),但物理上并非如此。
- 每个X1和X2可以同时执行两个线程,同时地
总而言之,您拥有一个可以同时执行 4 个线程的物理处理器。