Cpu

了解 lscpu 的輸出

  • September 13, 2018

您可以看到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這讓我感到困惑。

我可以看到Thread(s) per core: 2,所以這些28核心可以表現得像2x28=56邏輯核心。

**問題一:**這是什麼意思CPUs(s): 56?是否CPU(s)表示虛擬/邏輯核心的數量,因為它至少不能是物理核心核心?

**問題2:**這是什麼NUMA node意思?它代表套接字嗎?

“CPU(s): 56”表示邏輯核心數,等於“Thread(s) per core”דCore(s) per socket”דSocket(s)”。一個插槽是一個物理CPU封裝(佔用主機板上的一個插槽);每個插槽承載多個物理核心,每個核心可以執行一個或多個執行緒。在您的情況下,您有兩個插槽,每個插槽都包含一個 14 核 Xeon E5-2690 v4 CPU,並且由於它支持具有兩個執行緒的超執行緒,每個核心可以執行兩個執行緒。

“NUMA節點”代表記憶體架構;“NUMA”代表“非統一記憶體架構”。在您的系統中,每個插槽都連接到某些 DIMM 插槽,並且每個物理 CPU 包都包含一個記憶體控制器,用於處理總 RAM 的一部分。因此,並非所有物理記憶體都可以從所有 CPU 平等訪問:一個物理 CPU 可以直接訪問它控制的記憶體,但必須通過另一個物理 CPU 才能訪問其餘記憶體。在您的系統中,邏輯核心 0–13 和 28–41 在一個 NUMA 節點中,其餘在另一個節點中。所以是的,一個 NUMA 節點等於一個插槽,至少在典型的多插槽 Xeon 系統中是這樣。

引用自:https://unix.stackexchange.com/questions/468766