Linux常用命令(3) - lscpu

lscpu 是 Linux 系统中用于显示 CPU 架构信息的命令,它从 /proc/cpuinfo 和 sysfs 等系统文件中收集并整理信息。以下是 lscpu 命令的详细解析:

1. 基本语法

lscpu [选项]

2. 常用选项

 
选项说明
-a, --all 显示所有在线和离线的 CPU 信息
-b, --online 仅显示在线 CPU 的信息
-c, --offline 仅显示离线 CPU 的信息
-e, --extended 以表格形式显示扩展信息
-p, --parse 输出易于解析的格式(用于脚本处理)
-s, --sysroot <目录> 为收集系统数据指定根目录
-x, --hex 以十六进制显示 CPU ID 等信息
-h, --help 显示帮助信息
-V, --version 显示版本信息

3. 输出字段详解

执行 lscpu 后,典型输出如下(字段可能因架构不同而有差异):

Architecture:          x86_64            # CPU 架构(如 x86_64、ARM、aarch64)
CPU op-mode(s):        32-bit, 64-bit    # 支持的操作模式
Byte Order:            Little Endian     # 字节序(大端/小端)
CPU(s):                8                 # 逻辑 CPU 核心总数
On-line CPU(s) list:   0-7               # 在线 CPU 列表
Thread(s) per core:    2                 # 每个核心的线程数(超线程)
Core(s) per socket:    4                 # 每个插槽(物理 CPU)的核心数
Socket(s):             1                 # 物理 CPU 插槽数
NUMA node(s):          1                 # NUMA 节点数
Vendor ID:             GenuineIntel      # CPU 厂商(如 Intel、AMD)
CPU family:            6                 # CPU 系列编号
Model:                 158               # 型号编号
Model name:            Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Stepping:              9                 # 步进版本(硬件修订)
CPU MHz:               800.000           # 当前 CPU 频率
CPU max MHz:           3800.0000         # 最大频率
CPU min MHz:           800.0000          # 最小频率
BogoMIPS:              5587.75           # 粗略计算的 CPU 性能指标
Virtualization:        VT-x              # 虚拟化技术支持
L1d cache:             32K               # 一级数据缓存
L1i cache:             32K               # 一级指令缓存
L2 cache:              256K              # 二级缓存
L3 cache:              6144K             # 三级缓存
NUMA node0 CPU(s):     0-7               # NUMA 节点对应的 CPU
Flags:                 fpu vme de ...    # CPU 支持的功能标志(如 SSE、AVX)

4. 关键概念解释

  • Socket(插槽):物理 CPU 的数量(主板上的 CPU 插座数)。

  • Core(核心):每个物理 CPU 的独立处理单元。

  • Thread(线程):每个核心可执行的逻辑线程数(超线程技术)。

  • 逻辑 CPU 数 = Socket × Core × Thread。

  • NUMA:非统一内存访问架构,多 CPU 系统常见,影响内存访问速度。

5. 实用示例

(1) 显示所有 CPU 信息(默认)

lscpu

(2) 仅显示在线 CPU 信息

lscpu -b

(3) 显示易于解析的格式(用于脚本)

lscpu -p

(4) 显示扩展信息表格

lscpu -e

输出示例:

CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE
0   0    0      0    0:0:0:01   0    0      1    1:1:1:0      是
...

(5) 结合 grep 筛选信息

lscpu | grep -E "Model name|CPU MHz|CPU max MHz"

输出:

Model name:            Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
CPU MHz:               800.000
CPU max MHz:           3800.0000

(6) 查看 CPU 支持的功能标志

lscpu | grep Flags

6. 高级用法

(1) 查看特定架构的详细信息

lscpu --arch

(2) 将输出重定向到文件

lscpu > cpu_info.txt

(3) 结合 numactl 查看 NUMA 拓扑

lscpu --extended | grep "NUMA node"

7. 注意事项

  • 部分信息需要 root 权限才能完整获取(如 CPU MHz 的详细信息)。

  • 在虚拟化环境中(如虚拟机、容器),输出的信息可能受限或为宿主机信息。

  • BogoMIPS 仅用于粗略估算性能,不适用于实际性能比较。

8. 相关命令

  • cat /proc/cpuinfo:原始 CPU 信息。

  • nproc:查看逻辑 CPU 数量。

  • dmidecode:获取硬件详细信息。

  • top 或 htop:实时查看 CPU 使用情况。

  • cpuid:显示 x86 CPU 详细特性(需安装)。

通过 lscpu,你可以快速了解系统的 CPU 架构、拓扑和功能,这对于系统调优、虚拟化配置和性能分析非常有用。

posted @ 2026-01-23 18:59  一生爱你  阅读(2)  评论(0)    收藏  举报