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
cat /sys/devices/cpu/caps/pmu_name
haswell
Run Code Online (Sandbox Code Playgroud)
小智 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 芯片。
注意:此脚本不再起作用。英特尔的搜索 URL 已更改。
下面是一个bash脚本,自动查找架构代号为使用CPU/proc/cpuinfo
和https://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)