zoukankan      html  css  js  c++  java
  • lscpu命令详解

     基础命令学习目录首页

    一、lscpu输出

    使用lscpu查看的结果如下图,这里会显示很多信息,如下:

    lscpu

    使用lscpu -p会详细的numa信息,如下:

    1. [root@localhost ~]# lscpu -p
    2. # The following is the parsable format, which can be fed to other
    3. # programs. Each different item in every column has an unique ID
    4. # starting from zero.
    5. # CPU,Core,Socket,Node,,L1d,L1i,L2,L3
    6. 0,0,0,0,,0,0,0,0
    7. 1,1,1,2,,1,1,1,1
    8. 2,2,2,4,,2,2,2,2
    9. 3,3,3,7,,3,3,3,3
    10. 4,0,0,0,,4,0,0,0
    11. 5,1,1,2,,5,1,1,1
    12. 6,2,2,4,,6,2,2,2
    13. 7,3,3,7,,7,3,3,3
    14. 8,4,0,0,,8,4,4,0
    15. 9,5,1,2,,9,5,5,4
    16. …………略部

      

    描述:
      此命令用来显示cpu的相关信息
      lscpu从sysfs和/proc/cpuinfo收集cpu体系结构信息,命令的输出比较易读
      命令输出的信息包含cpu数量,线程,核数,套接字和Nom-Uniform Memeor Access(NUMA),缓存等
      不是所有的列都支持所有的架构,如果指定了不支持的列,那么lscpu将打印列,但不显示数据
    语法:
      lscpu [-a|-b|-c] [-x] [-s directory] [-e [=list]|-p [=list]]
      lscpu -h|-V
    参数选项:
          -a, –all: 包含上线和下线的cpu的数量,此选项只能与选项e或-p一起指定
          -b, –online: 只显示出上线的cpu数量,此选项只能与选项e或者-p一起指定
          -c, –offline: 只显示出离线的cpu数量,此选项只能与选项e或者-p一起指定
         -e, –extended [=list]: 以人性化的格式显示cpu信息,如果list参数省略,输出所有可用数据的列,在指定了list参数时,选项的字符串、等号(=)和列表必须不包含任何空格或其他空白。比如:’-e=cpu,node’ or ’–extended=cpu,node’
      -h, –help:帮助
      -p, –parse [=list]: 优化命令输出,便于分析.如果省略list,则命令的输出与早期版本的lscpu兼容,兼容格式以两个逗号用于分隔cpu缓存列,如果没有发现cpu缓存,则省略缓存列,如果使用list参数,则缓存列以冒号(:)分隔。在指定了list参数时,选项的字符串、等号(=)和列表必须不包含空格或者其它空白。比如:’-e=cpu,node’ or ’–extended=cpu,node’
      -s, –sysroot directory: 为一个Linux实例收集CPU数据,而不是发出lscpu命令的实例。指定的目录是要检查Linux实例的系统根
      -x, –hex:使用十六进制来表示cpu集合,默认情况是打印列表格式的集合(例如:0,1)
    显示格式:
      Architecture:         #架构
      CPU(s):                 #逻辑cpu颗数
      Thread(s) per core:     #每个核心线程
      Core(s) per socket:     #每个cpu插槽核数/每颗物理cpu核数
      CPU socket(s):          #cpu插槽数
      Vendor ID:              #cpu厂商ID
      CPU family:             #cpu系列
      Model:                  #型号
      Stepping:               #步进
      CPU MHz:                #cpu主频
      Virtualization:         #cpu支持的虚拟化技术
      L1d cache:              #一级缓存(google了下,这具体表示表示cpu的L1数据缓存)
      L1i cache:              #一级缓存(具体为L1指令缓存)
      L2 cache:               #二级缓存
    ---------------------
    作者:linux凯
    来源:CSDN
    原文:https://blog.csdn.net/chenghuikai/article/details/72832016
    版权声明:本文为博主原创文章,转载请附上博文链接!
     
    以下几个概念

       * processor 条目包括这一逻辑处理器的唯一标识符。    * physical id 条目包括每个物理封装的唯一标识符。    * core id 条目保存每个内核的唯一标识符。    * siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。    * cpu cores 条目包含位于相同物理封装中的内核数量。    * 如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel。
     
    socket:物理CPU的插槽
    Core per Socket:每一个插槽对应的物理CPU上有多少个核
    Thread per Core:每个核上有多少个线程
     
    看个图:(几核几线程就是指有多少个“Core per Socket”多少个“Thread per Core”,当后者比前者多时,
    说明启用了超线程技术)

    ---------------------
    作者:double12gzh
    来源:CSDN
    原文:https://blog.csdn.net/gzhouc/article/details/51999485
    版权声明:本文为博主原创文章,转载请附上博文链接!
     
     
    原文链接:https://www.cnblogs.com/mengwenlu/p/4791227.html
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    i2000:~ # lscpu
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                8
    On-line CPU(s) list:   0-7
    Thread(s) per core:    2
    Core(s) per socket:    1
    Socket(s):             4
    NUMA node(s):          1
    Vendor ID:             GenuineIntel
    CPU family:            6
    Model:                 62
    Stepping:              4
    CPU MHz:               2499.998
    BogoMIPS:              4999.99
    Hypervisor vendor:     KVM
    Virtualization type:   full
    L1d cache:             32K
    L1i cache:             32K
    L2 cache:              4096K
    NUMA node0 CPU(s):     0-7

      

    socket就是主板上插cpu的槽的数目,也就是可以插入的物理CPU的个数。

    core就是我们平时说的“核“,每个物理CPU可以双核,四核等等。

    thread就是每个core的硬件线程数,即超线程

    输入命令cat /proc/cpuinfo 查看physical id有几个,上述结果显示只有0,所以只有一个物理cpu;查看processor有几个,上述结果显示有0和1两个,所以有两个逻辑cpu。

    (一)概念
    ① 物理CPU
    实际Server中插槽上的CPU个数
    物理cpu数量,可以数不重复的 physical id 有几个
    ② 逻辑CPU
    /proc/cpuinfo 用来存储cpu硬件信息的
    信息内容分别列出了processor 0 –processor n 的规格。这里需要注意,n是逻辑cpu数
    一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来
    逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启ht)
    备注一下:Linux下top查看的CPU也是逻辑CPU个数
    ③ CPU核数
    一块CPU上面能处理数据的芯片组的数量、比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU
    一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术
    ㈡ 查看CPU信息
    当我们 cat /proc/cpuinfo 时、
    具有相同core id的CPU是同一个core的超线程
    具有相同physical id的CPU是同一个CPU封装的线程或核心
    ㈢ 下面举例说明
    ① 查看物理CPU的个数
    #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
    2
    ② 查看逻辑CPU的个数
    #cat /proc/cpuinfo |grep "processor"|wc -l
    24
    ③ 查看CPU是几核
    #cat /proc/cpuinfo |grep "cores"|uniq
    6
    我这里应该是2个Cpu,每个Cpu有6个core,应该是Intel的U,支持超线程,所以显示24

    lscpu 显示 CPU 的架构信息

    lscpusysfsproc/cpuinfo 中收集信息。这个命令的输出是规范的可以用来解析,或者给人来阅读。该命令显示的信息包括,CPU 的数量,线程 (thread),核心 (core),Socket 还有 Non-Uniform Memory Access (NUMA) 节点数。

    • Socket 具体是指的主板上 CPU 的插槽数量,一般笔记本只有一个,而服务器可能会有多个。如果有两个插槽,通常称为两路
    • Core 具体是指 CPU 的核心,也就是平常说的几核,比如八核之类
    • thread 是指的每个 Core 的硬件线程数,超线程

    举例来说,如果某个服务器”2 路 4 核超线程”,也就是 2 个插槽,4 核心,默认为 2 thread,也就是 242 是 16 逻辑 CPU。对操作系统来说,逻辑 CPU 的数量就是 Socket * Core * Thread

    比如下面我的台式机,1 Sockets, 4 Cores,2 Threads,那么就是 4 核 8 线程。

    如下示例:

    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                8
    On-line CPU(s) list:   0-7
    Thread(s) per core:    2
    Core(s) per socket:    4
    Socket(s):             1
    NUMA node(s):          1
      • lscpu 收集来自 sysf,/proc/cpuinfio 和任何适用于体系结构的库的 CPU 体系结构信息

      • 命令输出可以进行优化, 以供分析或便于阅读。这些信息包括,列如:

        cpu的数量、线程、内核、套接字和非统一内存访问 (NUMA) 节点。
        还有有关 CPU 缓存和缓存共享、家族、模型 bogoMIPS、字节顺序和单步执行的信息。

      • 在虚拟化环境中, 显示的 CPU 体系结构信息反映了与物理 (主机) 系统通常不同的来宾操作系统的配置。 在支持检索物理拓扑信息的体系结构中, lscpu 还显示主机系统中的物理插座、芯片、内核数。

      • 并非所有的列都支持所有的体系结构。 如果指定了不支持的列, lscpu 将打印该列, 但不为其提供任何数据。

    !CPU 文件存放在 /sys/devices/system/cpu/

    • 查看CPU信息

    • 将指定的CPU关闭

  • 相关阅读:
    C# 灵活切换开发/测试/生成环境web.config
    c# sqlserver 删除大批量数据超时
    vue 上传进度显示
    sqlserver the name is not a valid identifier error in function
    WEBAPI 设置上传文件大小
    vue 获取视频时长
    webapi 导入excel处理数据
    vscode 通过ftp发布vue到azure服务器
    C# 汉字转拼音
    静态代码扫描工具
  • 原文地址:https://www.cnblogs.com/machangwei-8/p/10398902.html
Copyright © 2011-2022 走看看