看懂lscpu的输出

文章目录

  • 1. lscpu
    • 1.1 Architecture
    • 1.2 逻辑核心数
    • 1.3 缓存
    • 1.4 CPU型号
    • 1.5 NUMA架构
      • 1.5.1 CPU多核架构
      • 1.5.2 多CPU Socket架构
  • 2. cat /proc/cpuinfo
    • 2.1 关键字段

1. lscpu

通过lscpu查看当前系统的CPU信息。

    [hadoop@server3 ~]$ lscpu
    Architecture:          x86_64          
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                32
    On-line CPU(s) list:   0-31
    Thread(s) per core:    2
    Core(s) per socket:    8
    Socket(s):             2
    NUMA node(s):          2
    Vendor ID:             GenuineIntel
    CPU family:            6
    Model:                 79
    Model name:            Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
    Stepping:              1
    CPU MHz:               2299.910
    BogoMIPS:              4205.37
    Virtualization:        VT-x
    L1d cache:             32K
    L1i cache:             32K
    L2 cache:              256K
    L3 cache:              20480K
    NUMA node0 CPU(s):     0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30
    NUMA node1 CPU(s):     1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31

1.1 Architecture

CPU的架构,常见的是x86、arm等。

字段名 说明
Architecture x86_64 使用x86架构
CPU op-mode(s) 32-bit, 64-bit 表示可以同时运行32位/64位的程序

1.2 逻辑核心数

字段名 说明
CPU(s) 32 逻辑核心数,即最大并发执行的线程数
On-line CPU(s) list 0-31 可用逻辑核心编号
Socket(s) 2 CPU插槽数
Core(s) per socket 8 单CPU物理核心数
Thread(s) per core 2 单物理核新的逻辑核心数(也叫超线程)

逻辑核心数CPU(S) = 插槽数Socket(s) * 单CPU物理核心数Core(s) per socket * 单物理核新的逻辑核心数Thread(s) per Core

  • 插槽,对应/proc/cpuinfo,不同的插槽physical id不同
  • 单CPU物理核心,对应/proc/cpuinfo,同一个插槽下多个物理核心physical id相同,core id不同
  • 超线程,同一个物理线程下,即physical idcore id相同,processor id不同

1.3 缓存

字段名 说明
L1d cache 32K 一级数据缓存
L1i cache 32K 一级指令缓存
L2 cache 256K 二级缓存
L3 cache 20480K 三级缓存

1.4 CPU型号

字段名 说明
Model name Intel® Xeon® CPU E5-2620 v4 @ 2.10GHz CPU型号

1.5 NUMA架构

字段名 说明
NUMA node(s) 2 NUMA节点数
NUMA node0 CPU(s) 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30 NUMA node0管理的内存分片

目前主流的CPU架构有两种:

1.5.1 CPU多核架构

看懂lscpu的输出_第1张图片

  • 一个CPU内运行多个核心,称为物理核心
  • 物理核心包含一级指令/数据缓存核二级缓存
  • 每个物理核心上还可以运行超线程,称为逻辑核心
  • 同一个物理核心上超线程共享一二级缓存
  • 同一个CPU上多个物理核心共享三级缓存

1.5.2 多CPU Socket架构

看懂lscpu的输出_第2张图片

  • 每个CPU Socket独立拥有一二三级缓存
  • 每个应用程序可以在多个Socket直接调度
  • 跨Socket访问内存,需要通过对应内存的管理Socket
  • 这种内存访问模型被称为非统一内存访问架构(Non-Uniform Memory Access),NUMA架构

就是上面我们看到NUMA node0 CPU(s)只管理了一部分内存分片。

2. cat /proc/cpuinfo

通过cat /proc/cpuinfo查看每一个逻辑CPU的信息。

    processor       : 31
    vendor_id       : GenuineIntel
    cpu family      : 6
    model           : 79
    model name      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
    stepping        : 1
    microcode       : 0xb00001f
    cpu MHz         : 2300.156
    cache size      : 20480 KB
    physical id     : 1
    siblings        : 16
    core id         : 7
    cpu cores       : 8
    apicid          : 31
    initial apicid  : 31
    fpu             : yes
    fpu_exception   : yes
    cpuid level     : 20
    wp              : yes
    flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts
    bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs
    bogomips        : 4205.37
    clflush size    : 64
    cache_alignment : 64
    address sizes   : 46 bits physical, 48 bits virtual
    power management:

2.1 关键字段

字段名 说明
processor 31 逻辑CPU唯一ID
physical id 1 CPU Socket唯一ID
core id 7 Socket下物理核心ID
siblings 16 一个CPU Socket下支持的逻辑核心数
cpu cores 8 一个CPU Socket下支持的物理核心数

你可能感兴趣的:(探究bash,开发语言,bash)