Linux lscpu 命令 - 显示 CPU 架构信息
介绍
lscpu(英文全拼:list cpu)命令用来显示 CPU 的相关信息。
该命令从 sysfs 和 /proc/cpuinfo 收集 cpu 体系结构信息,再以易读的格式输出,输出的信息包含 cpu 数量、核心数、线程数、套接字 和 NUMA(Non-Uniform Memory Access)、缓存等。但并不一定所有的字段都有数据显示,这和所支持的 CPU 架构有关系,如果指定了不支持的字段,那么 lscpu 将打印字段名,但不显示数据。
语法:
lscpu [选项]
选项:
-a
,--all
:同时打印在线和离线 CPU(-e 选项默认值)。-b
,--online
:只打印在线 CPU(-p 选项默认值)。-B
,--bytes
:以字节为单位打印。-C
,--caches[=<list>]
:以易读的格式打印 cache 信息。-c
,--offline
:只打印离线 CPU。-J
,--json
:使用 JSON 格式作为默认或扩展格式。-e
,--extended[=<列表>]
:打印扩展的可读格式。-p
,--parse[=<列表>]
:打印可解析格式。-s
,--sysroot <目录>
:以指定目录作为系统根目录。-x
,--hex
:打印十六进制掩码而非 CPU 列表。-y
,--physical
:打印物理 ID 而非逻辑 ID。-h
,--help
:显示帮助信息。-V
,--version
:显示版本信息。
示例
在 i.MX8MQ 上执行 lscpu,查看 CPU 信息
root@imx8mqevk:~# lscpu
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: ARM
Model: 4
Model name: Cortex-A53
Stepping: r0p4
CPU max MHz: 1300.0000
CPU min MHz: 800.0000
BogoMIPS: 16.66
NUMA node0 CPU(s): 0-3
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
各字段说明如下:
Architecture: # 架构
CPU op-mode(s): # CPU运行模 式
Byte Order: # 字节序
CPU(s): # 逻辑CPU颗数
On-line CPU(s) list: # 在线CPU列表
Thread(s) per core: # 每个核的线程数
Core(s) per socket: # 每个CPU插槽核数/每颗物理CPU核数
CPU socket(s): # CPU插槽数
NUMA node(s): # NUMA节点
Vendor ID: # CPU厂商ID
CPU family: # CPU系列
Model: # 型号
Model name: # 型号名称
Stepping: # 步进
CPU MHz: # CPU主频
CPU max MHz: # CPU最大主频
CPU min MHz: # CPU最小主频
Virtualization: # CPU支持的虚拟化技术
L1d cache: # 一级缓存(CPU的L1数据缓存)
L1i cache: # 一级缓存(CPU的L1指令缓存)
L2 cache: # 二级缓存
...
另外,除了 lscpu,通常还会从 /sys 和 /proc 获取 CPU 相关信息
cat /proc/cpuinfo
查看 cpu0 当前工作频率
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq