跳到主要内容

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