如何从命令行找出英特尔架构系列

a c*_*eer 44 linux cpu cpu-architecture

我可以使用一些 Xeon 机器来检查性能。我想找出他们使用的架构,例如 Haswell、Sandybridge 和 Ivybridge。有没有命令可以找出这个?

小智 56

这是一种廉价的解决方法,但您可以从 gcc 获取该信息!我将解释:gcc 能够使用 -march 选项为每个 subarch 优化二进制文件。此外,它能够检测到您的机器并使用 -march=native 自动优化您的机器假设是这样,您只需要使用 March=native 调用 gcc 并询问它将使用什么标志:简而言之

gcc -march=native -Q --help=target|grep march
Run Code Online (Sandbox Code Playgroud)

对我来说它给

-march=                               bdver1
Run Code Online (Sandbox Code Playgroud)

但是我的电脑运行的是 amd buldozer 处理器


小智 30

此数据存储在 PMU_NAME 中,只需键入:

cat /sys/devices/cpu/caps/pmu_name
haswell
Run Code Online (Sandbox Code Playgroud)

  • 这确实是最简单的解决方案,我相信最好的答案,因为它不需要安装任何额外的命令(如 gcc 或 pup),并且它只提供微体系结构名称的干净输出,可以直接在一个脚本。 (2认同)
  • 这在我的机器上提供了 `skylake`,而英特尔的网站说它是 `kaby Lake`:https://ark.intel.com/content/www/us/en/ark/products/97185/intel-core-i7- 7700hq-processor-6m-cache-up-to-3-80-ghz.html 说 (2认同)
  • 请注意,该文件在 AMD 机器上不存在。 (2认同)
  • @Tyilo:对我来说类似:i7-8565U 被报告为“skylake”,而英特尔则说“Whiskey Lake”。 (2认同)

小智 14

您可能不能,因为这些是用于商业销售的营销名称,而不是“技术”名称。

但是,您可以从 dmidecode 获取您需要的内容,然后访问http://ark.intel.com(对于您的至强处理器)以确定商业系列。

[root@mediasrv ~]# dmidecode|grep -i intel
        Socket Designation: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
        Manufacturer: Intel
        Version: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
Run Code Online (Sandbox Code Playgroud)

从该输出中,我可以访问 Intel 的方舟网站并搜索 3770 CPU,这会告诉我我有一个 Ivy Bridge 芯片。

  • 要使用脚本自动执行此操作,我将使用 dmidecode 或 /proc/cpuinfo 并将其与 grep 或 awk 或 perl 以及维基百科上使用 curl 或 wget 获得的 xeon cpu 列表的可打印版本结合使用:https://en。 wikipedia.org/w/index.php?title=List_of_Intel_Xeon_microprocessors&printable=yes (2认同)

Tyi*_*ilo 7

注意:此脚本不再起作用。英特尔的搜索 URL 已更改。

下面是一个bash脚本,自动查找架构代号为使用CPU/proc/cpuinfohttps://ark.intel.com/。要工作,它需要您安装pup

在我的电脑上运行代码,我得到以下结果:

$ ./intel_codename
Processor name: i7-7700HQ
Kaby Lake
Run Code Online (Sandbox Code Playgroud)
$ ./intel_codename
Processor name: i7-7700HQ
Kaby Lake
Run Code Online (Sandbox Code Playgroud)