lscpu命令

lscpu命令用来显示cpu的相关信息。
lscpu从sysfs和/proc/cpuinfo收集cpu体系结构信息,命令的输出比较易读 。
命令输出的信息包含cpu数量,线程,核数,socket和Nom-Uniform Memeor Access(NUMA),缓存等。
例如下图:

[fdpc_1801213753@mu01 ~]$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                16
On-line CPU(s) list:   0-15
Thread(s) per core:    1
Core(s) per socket:    8
座:                 2
NUMA 节点:         2
厂商 ID:           GenuineIntel
CPU 系列:          6
型号:              79
型号名称:        Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
步进:              1
CPU MHz:             1287.480
BogoMIPS:            4196.08
虚拟化:           VT-x
L1d 缓存:          32K
L1i 缓存:          32K
L2 缓存:           256K
L3 缓存:           20480K
NUMA 节点0 CPU:    0-7
NUMA 节点1 CPU:    8-15

其中几个概念:

CPU(s):                16    #逻辑CPU数
On-line CPU(s) list:   0-15
Thread(s) per core:    1     
Core(s) per socket:    8
座:                 2
什么是Socket(由于客户端为中文,翻译成了

Socket是一个物理上的概念,就是主板上插CPU的槽的数量

什么是Core

Core就是平时说的核,双核、四核等,就是每个CPU上的核数。就是一个独立的硬件执行单元。

什么是Thread

thread就是每个core上的硬件线程数,即超线程。逻辑的执行单元/CPU,独立的执行上下文,但是共享core内的寄存器和计算单元。

什么是NUMA node

NUMA体系结构中多了Node的概念,Node是一个逻辑上的概念,这个概念其实是用来解决core的分组的问题。每个node有自己的内部CPU,总线和内存,同时还可以访问其他node内的内存。即Node用来将core分组,每个Node拥有一个对应的本地内存。

node 和socket没有必然的联系,一般是一个socket上的core属于同一个node。

对操作系统来说,其逻辑CPU的数量就是Socket*Core*Thread

猜你喜欢

转载自blog.csdn.net/weixin_36228538/article/details/84852861