菜鸟科技网

查看cpuid命令

cpuid 是一个在 Linux 系统中用于查询 CPU 详细信息的命令行工具,它的全称是 "CPU IDentification",它通过直接调用 CPU 的 CPUID 指令来获取处理器本身提供的各种信息,而不是从 /proc/cpuinfo 这样的文件中读取,它能提供非常底层和准确的数据。

查看cpuid命令-图1
(图片来源网络,侵删)

安装 cpuid

cpuid 命令通常不在 Linux 的默认安装包中,你需要手动安装,在基于 Debian/Ubuntu 的系统上,可以使用 apt

sudo apt update
sudo apt install cpuid

在基于 Red Hat/CentOS/Fedora 的系统上,可以使用 yumdnf

sudo yum install cpuid
# 或者 (对于较新的系统)
sudo dnf install cpuid

基本用法

安装完成后,最简单的用法就是直接在终端输入 cpuid

cpuid

这个命令会打印出非常全面的 CPU 信息,包括厂商、型号、特性、缓存大小等,输出内容会很长,并且按类别分组。

查看cpuid命令-图2
(图片来源网络,侵删)

常用选项和示例

cpuid 命令提供了很多选项,让你可以只查询特定类别的信息,这对于快速获取关键数据非常有用。

选项 -1:显示 CPU 基本信息(最常用)

这是最常用的选项,它会显示 CPU 的基本识别信息,包括厂商、系列、型号、频率等。

cpuid -1

示例输出:

CPUID Vendor ID: GenuineIntel
CPUID Family: 6, Model: 158, Stepping: 10
CPUID Model: 0x3e (Coffee Lake)
CPUID Signature: 0x906ea
CPUID Features: FPU, VME, DE, PSE, TSC, MSR, PAE, MCE, CX8, APIC, SEP, MTRR, PGE, MCA, CMOV, PAT, PSE36, CLFSH, DS, ACPI, MMX, FXSR, SSE, SSE2, SS, HTT, TM, PBE, SSE3, PCLMULQDQ, DTES64, MON, DS_CPL, VMX, SMX, EST, TM2, SSSE3, FMA, CX16, PCID, SSE4.1, SSE4.2, X2APIC, POPCNT, TSC_DEADLINE_TIMER, AES, XSAVE, OSXSAVE, AVX, F16C, RDRAND, HYPERVISOR, LAHF_LM, ABM, BMI1, AVX2, BMI2, SMEP, BMI1, HLE, RTM, RDSEED, ADX, SMAP, AVX512F, AVX512DQ, AVX512CD, AVX512BW, AVX512VL, AVX512IFMA, AVX512VBMI, CLFLUSHOPT, CLWB, PT, SGX, AVX512_VNNI, AVX512_BF16, AVX512_VPOPCNTDQ, RDPID, FSRC, SGX_LC, ARCH_CAPABILITIES, SPEC_CTRL, SSBD, IBRS, IBPB, STIBP, AMD_SSBD, VIRT_SPEC_CTRL, FLUSH_L1D, AMD_SSB_NO, TSX_FORCE_ABORT, HWP, HWP_NOTIFY, HWP_ACT_WINDOW, HWP_EPP, HWP_PKG_REQ, AVX512_4VNNIW, AVX512_4FMAPS, AVX512_VP2INTERSECT, SRBDS_CTRL, MD_CLEAR, TSXLDTRK, POWER_CTRL, FBSDP_NO, RSVD, SNOOP_FILTER, DTLB_4M, L1D_FLUSH, L1D_PREFETCH, SPEC_CTRL_SSBD, SSBD_NO, AVX512_FP16, AVX512_BF16, AVX512_VNNI, AVX512_VBMI2, AVX512_VPOPCNTDQ, AVX512_FP16, AVX512_BF16, AVX512_VNNI, AVX512_VBMI2, AVX512_VPOPCNTDQ, AVX512_FP16, AVX512_BF16, AVX512_VNNI, AVX512_VBMI2, AVX512_VPOPCNTDQ, AVX512_FP16, AVX512_BF16, AVX512_VNNI, AVX512_VBMI2, AVX512_VPOPCNTDQ
CPUID Cache Information:
  L1 Data Cache: 64 KB (2 lines, 64 bytes/line)
  L1 Instruction Cache: 64 KB (2 lines, 64 bytes/line)
  L2 Cache: 512 KB (4 lines, 64 bytes/line)
  L3 Cache: 8192 KB (56 lines, 64 bytes/line)
CPUID Topology Information:
  Cores: 8
  Threads per core: 2
  Logical processors: 16
CPUID Speed Information:
  Max. Frequency: 4.800 GHz
  Bus Frequency: 100.000 MHz

解读:

查看cpuid命令-图3
(图片来源网络,侵删)
  • Vendor ID: GenuineIntel 表示是 Intel 处理器。
  • Family/Model/Stepping: 这是 CPU 的核心身份标识。
  • Features: 列出了 CPU 支持的所有指令集特性,SSE, AVX, AVX2, AES 等,如果你的程序需要某个指令集,可以在这里检查。
  • Cache Information: 显示了各级缓存的大小。
  • Topology Information: 显示了物理核心数、每核心线程数和逻辑处理器总数,对于支持超线程的 CPU,逻辑处理器数是物理核心数的两倍。
  • Speed Information: 显示了最大频率和总线频率。

选项 -l:显示 CPU 的逻辑核心和拓扑信息

这个选项专门用来显示 CPU 的核心、线程、NUMA 节点等拓扑结构。

cpuid -l

示例输出:

CPUID Topology Information:
  Logical processors: 16
  Cores: 8
  Threads per core: 2
  Physical packages: 1
  NUMA nodes: 1
  APIC ID: 0
  Core ID: 0
  SMT ID: 0
  ...
  (会为每个逻辑处理器列出类似信息)

选项 -r:显示 CPU 的寄存器信息

这个选项会显示 CPU 的各种控制寄存器和模型特定寄存器 的值,这对于高级用户和开发者调试底层问题非常有用。

cpuid -r

选项 -m:显示 CPU 的缓存信息

如果你只想快速查看缓存大小,这个选项很方便。

cpuid -m

示例输出:

CPUID Cache Information:
  L1 Data Cache: 64 KB (2 lines, 64 bytes/line)
  L1 Instruction Cache: 64 KB (2 lines, 64 bytes/line)
  L2 Cache: 512 KB (4 lines, 64 bytes/line)
  L3 Cache: 8192 KB (56 lines, 64 bytes/line)

选项 -s:显示 CPU 的速度信息

只显示 CPU 的频率相关信息。

cpuid -s

示例输出:

CPUID Speed Information:
  Max. Frequency: 4.800 GHz
  Bus Frequency: 100.000 MHz

/proc/cpuinfo 的区别

很多人会混淆 cpuid/proc/cpuinfo,它们的主要区别在于信息来源和准确性:

特性 cpuid 命令 /proc/cpuinfo 文件
信息来源 直接从 CPU 的 CPUID 指令获取。 由操作系统内核收集和提供。
准确性 最高,是 CPU 自己报告的原始数据。 可能被内核修改或格式化,有时会不准确或省略某些信息。
用途 底层硬件分析、驱动开发、性能调优、验证 CPU 特性。 查看基本的 CPU 信息、编写简单的脚本等。

  • 如果你需要最权威、最底层的 CPU 信息,用于开发或深度分析,请使用 cpuid
  • 如果你只是想快速查看 CPU 的基本概况(有多少核心、什么型号),cat /proc/cpuinfo 就足够了。

cpuid 是一个非常强大和专业的 Linux 工具,对于系统管理员、开发者和任何需要深入了解 CPU 硬件细节的人来说都非常有用,通过不同的选项,你可以精确地获取 CPU 的基本识别信息、拓扑结构、缓存大小、支持的指令集等,其数据的准确性和完整性远超系统提供的其他工具。

分享:
扫描分享到社交APP
上一篇
下一篇