获取主机的物理CPU个数、虚拟化逻辑CPU总核数和物理CPU总核数

1、lscpu命令

lscpu 
Architecture:          x86_64 
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                80
On-line CPU(s) list:   0-79
Thread(s) per core:    2
Core(s) per socket:    20
Socket(s):             2
NUMA node(s):          2

当您运行lscpu命令时,它将返回有关您的计算机CPU的信息,例如:

  • Architecture: CPU架构,这里是x86_64,表示您的CPU是64位架构。
  • CPU op-mode(s): CPU操作模式,这里是32位和64位,表示您的CPU可以运行32位和64位的操作系统和应用程序。
  • Byte Order: 字节顺序,这里是Little Endian,表示您的系统以小端字节序存储数据。
  • CPU(s): CPU数量,这里是80,表示您的系统有80个CPU。
  • On-line CPU(s) list: 在线CPU列表,这里是0-79,表示您的系统中所有CPU都处于在线状态。
  • Thread(s) per core: 每个核心的线程数,这里是2,表示每个CPU核心可以同时处理两个线程。
  • Core(s) per socket: 每个插槽的核心数,这里是20,表示每个CPU插槽中有20个核心。
  • Socket(s): 插槽数量,这里是2,表示您的系统中有两个CPU插槽。
  • NUMA node(s): NUMA节点数量,这里是2,表示您的系统中有两个NUMA节点。

与标题对应的参数那就是下面这三个:

  1. CPU(s): 80 # 表示逻辑CPU的数量,这里是80,它等于物理CPU数量乘以每个物理CPU的核心数。这个值包括了超线程技术创建的虚拟逻辑CPU核心。(虚拟化逻辑CPU)
    Thread(s) per core: 2 # 每个核心的线程数,这里是2,表示每个CPU核心可以同时处理两个线程。
  2. Core(s) per socket: 20 # 表示每个物理CPU的核心数,这里是20,表示每个物理CPU有20个核心。(这个主机的总CPU核数为20*2=40,单个物理CPU总核数)
  3. Socket(s): 2 # 表示物理CPU的数量,这里是2,表示您的系统中有两个物理CPU。(物理CPU个数)

根据这几个参数通过shell命令取值:

# 虚拟化逻辑vCPU:
lscpu | grep "^CPU(s)"
#物理CPU个数: 
lscpu | grep "^Socket(s)"
# 物理CPU总核数:
expr $(lscpu | grep "^Socket(s)" | cut -d : -f 2) \* $(lscpu | grep "Core(s) per socket" | cut -d : -f 2)

在shell中可以使用expr命令实现乘法,比如expr 2 * 3 就是2乘以3到的6

注:被这几个名称搞得七荤八素,有什么问题希望打到评论区,灰常感谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值