Linux CPUInfo 中的 CPUID 含义
在 Linux 的 /proc/cpuinfo 中,字段 cpuid level 表示处理器所支持的 CPUID 指令的最大输入值(EAX)。CPUID 是 x86/x86_64 处理器提供的标准指令,用于查询厂商、家族、型号、步进以及特性标志等信息。该字段以整数形式显示,例如 cpuid level : 13 表示 CPU 至少支持 CPUID 在 EAX=0 到 EAX=13 范围内的查询。注意,它并不是“处理器唯一 ID”,也不是“型号 ID”。
它能与不能告诉你的信息
- 能告诉你的
- 处理器对 CPUID 的支持上限(最大 EAX 值),反映可用的 CPUID 查询范围。
- 结合 CPUID 结果可进一步判断厂商、family、model、stepping与特性标志(这些在 /proc/cpuinfo 中通常以 vendor_id、cpu family、model、stepping、flags 等字段呈现)。
- 不能告诉你的
- 不是“处理器序列号/唯一 ID”,无法区分两颗同型号 CPU。
- 不等同于微码版本、频率、缓存大小等运行时或实现细节(这些信息在 /proc/cpuinfo 中有其他字段,如 microcode、cpu MHz、cache size 等)。
如何查看与示例
- 查看方式
- 直接读取:cat /proc/cpuinfo | grep “cpuid level”
- 单行获取最大值:grep -m1 “cpuid level” /proc/cpuinfo | awk ‘{print $3}’
- 示例
- 输出可能为:cpuid level : 13,表示该 CPU 支持 CPUID 的 EAX 输入至少到 13。
相关字段与获取更多信息
- 相关字段
- vendor_id、cpu family、model、stepping、flags:与 CPUID 查询得到的厂商与特性信息对应,flags 中的 lm 表示 64 位支持等。
- 进一步查询
- 使用 lscpu 获取拓扑与特性概览。
- 使用 cpuid 工具(需安装)直接执行 CPUID 指令查看各叶子与子叶信息,例如:cpuid | head 或按叶子查询:cpuid -l 0x0 -s 0 等。