Linux CPUInfo能显示哪些硬件信息
小樊
36
2026-01-03 15:24:57
Linux CPUInfo 可显示的硬件信息
核心字段与含义
- 标识与型号:processor(逻辑处理器编号)、vendor_id(厂商,如 GenuineIntel/AuthenticAMD)、cpu family、model、model name、stepping。
- 频率与性能:cpu MHz(当前运行频率)、bogomips(内核启动时的粗略 MIPS 估算)。
- 缓存:cache size(通常为二级缓存大小;部分处理器还会在 flags 中体现更细的缓存特性)。
- 拓扑与封装:physical id(物理封装/插槽 ID)、core id(物理核心 ID)、cpu cores(每颗物理 CPU 的物理核心数)、siblings(每颗物理 CPU 的逻辑处理器数)、apicid、initial apicid。
- 指令集与特性:flags(如 sse、sse2、avx、avx2、lm 等,其中 lm=long mode 表示支持 64 位)。
- 浮点与系统控制:fpu、fpu_exception、cpuid level、wp(写保护支持)。
- 内存与地址:clflush size、cache_alignment、address sizes(物理/虚拟地址位数)。
- 电源管理:以 power management: 开头的若干项(平台相关)。
以上字段均来自内核提供的虚拟文件 /proc/cpuinfo,可直接用命令查看。
常见派生信息
- 物理 CPU 颗数:统计 physical id 的唯一值数量。
- 逻辑 CPU 总数:统计 processor 的数量。
- 每颗物理 CPU 的物理核心数:查看 cpu cores。
- 是否启用超线程:若同一物理封装内,某 core id 对应多个 processor,通常说明启用了超线程;也可用 siblings 与 cpu cores 对比判断(siblings 通常 ≥ cpu cores)。
- 是否支持 64 位:在 flags 中查找 lm。
- 当前运行位宽:可用 getconf LONG_BIT 查看(注意这与 CPU 是否支持 64 位并不等价)。
以上计算与判断可直接用命令行组合实现。
快速查看与过滤示例
- 查看完整信息:cat /proc/cpuinfo
- 型号与频率:cat /proc/cpuinfo | egrep “model name|cpu MHz”
- 物理/逻辑 CPU 数量:
- 物理颗数:cat /proc/cpuinfo | grep “physical id” | sort -u | wc -l
- 逻辑总数:cat /proc/cpuinfo | grep “processor” | wc -l
- 每颗物理 CPU 的核心数:cat /proc/cpuinfo | grep “cpu cores” | uniq
- 是否支持 64 位:cat /proc/cpuinfo | grep -c " lm "
- 是否启用超线程:比较每颗物理 CPU 的 siblings 与 cpu cores(siblings > cpu cores 通常代表启用 HT/SMT)。
与 lscpu 的互补
- lscpu 从 /proc/cpuinfo 与 sysfs 汇总并以更友好的方式展示,便于快速读取 CPU 架构与拓扑:
- 架构与模式:Architecture、CPU op-mode(s)、Byte Order。
- 拓扑汇总:CPU(s)、Thread(s) per core、Core(s) per socket、Socket(s)、NUMA node(s)。
- 型号与频率:Vendor ID、CPU family/model/stepping、Model name、CPU MHz、BogoMIPS。
- 缓存层级:L1d/L1i/L2/L3 cache。
- 虚拟化:Virtualization(如 VT-x/AMD-V)、Hypervisor vendor。
- 扩展:支持 –extended/-e 查看 CPU-核心-插槽-节点表格,–parse/-p 生成可脚本解析的输出,–json 输出结构化数据。