1.核数和逻辑CPU计算公式

核数 = 物理CPU个数 * 每颗物理CPU的核数

逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数

 

2.lscpu命令

(1)显示cpu的相关信息

lscpu
Architecture:          aarch64
Byte Order:            Little Endian
CPU(s):                64
On-line CPU(s) list:   0-63
Thread(s) per core:    1
Core(s) per socket:    32
Socket(s):             2
NUMA node(s):          2
Model:                 0
CPU max MHz:           2600.0000
CPU min MHz:           200.0000
BogoMIPS:              200.00
L1d cache:             64K
L1i cache:             64K
L2 cache:              512K
L3 cache:              32768K
NUMA node0 CPU(s):     0-31
NUMA node1 CPU(s):     32-63
Flags:                 fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop

(2)参数选项

-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)

(3)结果显示

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: 一级缓存
L1i cache: 一级缓存
L2 cache: 二级缓存

 

3.CPU常用命令

(1)查看物理CPU个数

grep "physical id" /proc/cpuinfo | sort | uniq| wc -l

 

(2)查看每个物理CPU中core的个数(即核数)

grep "cpu cores" /proc/cpuinfo | uniq

 

(3)查看逻辑CPU的个数

grep "processor" /proc/cpuinfo | wc -l

cpu有2 * 12 = 24核,每个核有2个超线程,所以有48个逻辑cpu。

 

(4)查看内核和 架构

uname -a

Linux server1 4.14.0-115.el7a.0.1.aarch64 #1 SMP Sun Nov 25 20:54:21 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux

# 查看是ARM还是X86系统

uname -p

aarch64

 

(5)查看机型

dmidecode | grep "Product Name"

    Product Name: xxxxx 200 (Model xxxx)

    Product Name: BC82AMDDA

 

(6)查看cpu是32位还是64位

getconf LONG_BIT

64

 

(7)查看当前操作系统发行版信息

cat /etc/issue
或
cat /etc/redhat-release

CentOS Linux release 7.6.1810 (AltArch)

 

(8)查看实时CPU频率

cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq

 

(9)使用iostat

iostat命令除了能看到逻辑CPU总数,还能看到CPU的使用情况

iostat -c

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐