gpt4 book ai didi

multithreading - 理解lscpu的输出

转载 作者:行者123 更新时间:2023-12-04 06:46:24 26 4
gpt4 key购买 nike

您可以看到 lscpu 的输出命令 -

jack@042:~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 56
On-line CPU(s) list: 0-55
Thread(s) per core: 2
Core(s) per socket: 14
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz
Stepping: 1
CPU MHz: 2600.000
CPU max MHz: 2600.0000
CPU min MHz: 1200.0000
BogoMIPS: 5201.37
Virtualization: VT-x
Hypervisor vendor: vertical
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 35840K
NUMA node0 CPU(s): 0-13,28-41
NUMA node1 CPU(s): 14-27,42-55

我可以看到有 2插槽(就像一个处理器??),在每个插槽中我们都有 14核心。所以,总共 2x14=28物理内核。通常,一个 CPU 可以包含多个内核,因此 CPU 的数量永远不会小于内核的数量。但是,如输出 CPUs(s): 56 所示这就是让我困惑的地方。

我可以看到每个内核的线程数:2,因此这 28 个内核的行为类似于 2x28=56逻辑核心。

问题一:这是什么 CPUs(s): 56表示?是否 CPU(s)表示虚拟/逻辑核心的数量,因为它至少不能是物理核心?

问题2:这个 NUMA 节点是什么意思?它代表 socket 吗?

最佳答案

( Copied 应 OP 的要求。)

“CPU(s): 56”代表逻辑核心数,等于“每核心线程数”ד每插槽核心数”ד插槽数”。一个socket是一个物理CPU包(占用主板上的一个socket);每个套接字承载多个物理内核,每个内核可以运行一个或多个线程。在您的情况下,您有两个插槽,每个插槽包含一个 14 核 Xeon E5-2690 v4 CPU,并且由于它支持具有两个线程的超线程,因此每个内核可以运行两个线程。

“NUMA节点”代表内存架构; “NUMA”代表 “non-uniform memory architecture” .在您的系统中,每个插槽都连接到特定的 DIMM 插槽,每个物理 CPU 包都包含一个内存 Controller ,该 Controller 处理总 RAM 的一部分。因此,并非所有 CPU 都可以平等访问所有物理内存:一个物理 CPU 可以直接访问它控制的内存,但必须通过另一个物理 CPU 才能访问其余内存。在您的系统中,逻辑内核 0-13 和 28-41 位于一个 NUMA 节点中,其余的位于另一个节点中。所以是的,一个 NUMA 节点等于一个插槽,至少在典型的多插槽 Xeon 系统中是这样。

关于multithreading - 理解lscpu的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52312758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com