lscpu命令显示的是服务器cpu架构相关信息,lscpu从伪文件系统(sysfs)、/proc/cpuinfo和任何可用的特定体系架构库中收集cpu架构信息。输出内容包括:CPU、线程、内核的数量以及非同一存储器存取节点。此外还包括关于CPU高速缓存和高速缓存共享的信息,家族、模型、bogoMIPS、字节顺序和步进(stepping),下面就对命令做下阅读理解。
lscpu列出的最核心的cpu参数是逻辑cpu数量,下面就对lscpu列出的cpu数量进行一下解读:
先说表示cpu最核心的参数 - socket:
它用来表示主板上用来安装的物理cpu的插槽数量,它表示当前系统中有多少个独立的物理CPU芯片,在打印中用“Socket(s)”表示。这是一台服务器最基本的cpu数,如果没有后续参数,这台服务器的cpu数就是这么多。
下一个数据是core,即中央处理器核心数,它表示的是单个插槽数量有几个核心,在打印中用“Core(s) per socket”表示。到现在为止这台服务器的CPU数量等于 Socket(s) * Core(s) per socket
最后一个数据是单个核心的线程数,用“Thread(s) per core”表示。
所以一台服务器的CPU数等于:实际插槽数量 乘以 单个插槽物理cpu上的核心数 乘以 单个核心的线程数。
第二个常用数据是cpu型号,用“model name”表示,可以看到处理器的具体型号是什么。
第三个是处理器的架构,这个也是很常用的信息,用于上层判断如何适配。一般分成:
x86_64
:64 位 x86 架构(主流 PC/服务器)-
aarch64
:64 位 ARM 架构(常见于移动设备/嵌入式系统)