从 cpuinfo 识别 cpu 供应商的方法

想在Linux系统里快速摸清处理器的“出身”?最直接的途径,就是查看内核提供的虚拟文件 /proc/cpuinfo。这里面有个关键字段叫 vendor_id,它会直截了当地告诉你厂商标识字符串,比如“GenuineIntel”代表英特尔,“AuthenticAMD”则对应AMD。当然,如果你更喜欢用命令行工具,lscpu命令也能让你一眼看到同样的信息。
操作步骤
具体怎么操作呢?其实很简单,无非是几个命令的组合。
- 查看完整信息:直接运行
cat /proc/cpuinfo,然后在输出结果里找到以vendor_id开头的那一行。 - 仅提取供应商标识:如果只想拿到纯净的厂商名字,可以用下面这几种“组合拳”:
grep -m1 ‘^vendor_id’ /proc/cpuinfo | awk -F ': ’ ‘{print $2}’- 或者用
sed来处理:grep -m1 ‘^vendor_id’ /proc/cpuinfo | sed ‘s/.*: //’
- 使用 lscpu:这个命令的输出更规整,可以直接用
lscpu | grep -i “vendor id”。想更精确点?试试lscpu | awk -F ‘: +’ ‘/^vendor id/{print $2}’。
常见厂商与 vendor_id 对照
光看到字符串还不够,得知道它对应谁。目前市场上主流的x86架构CPU,其对应关系基本是固定的:
- Intel:对应的
vendor_id是GenuineIntel。 - AMD:对应的
vendor_id是AuthenticAMD。 - 至于其他架构,比如ARM或RISC-V,它们的
vendor_id会显示各自特定的字符串,通常也能直接识别。如果还不放心,结合model name或CPU architecture字段一起看,就万无一失了。
多核与多路 cpu 的读取建议
这里有个小细节需要注意。在多核或多路CPU的系统上,/proc/cpuinfo 会为每一个逻辑处理器都重复输出一遍信息。不过好在,同一台机器上的 vendor_id 通常都是一致的。为了避免在脚本处理时得到重复结果,建议在读取时只取第一条记录。上面示例命令里用到的 grep -m1 选项,或者在 awk 中设定只处理首行,就是为了这个目的。
示例命令与输出
说了这么多,看两个实际的例子会更清楚:
- 示例一:运行
grep -m1 ‘^vendor_id’ /proc/cpuinfo
输出很可能像这样:vendor_id : GenuineIntel—— 这表示你正在使用一颗英特尔处理器。 - 示例二:运行
lscpu | grep -i “vendor id”
输出格式类似:Vendor ID: GenuineIntel,结论同样指向英特尔。
看,整个过程并不复杂。掌握这几个命令,你就能在终端里迅速、准确地给CPU“验明正身”了。
