我希望能够读取并在可能的情况下更改 Ubuntu 14.04 中 Haswell 微架构的非核心频率。我知道可以通过修改 /sys/devices/system/cpu/cpu*/cpufreq/ 中的值来更改 CPU 频率,但我无法找到非核心的等效项。
答案1
正如 John McCalpin 在https://software.intel.com/en-us/node/543513,我做了以下操作来获取当前的非核心频率:
sudo modprobe msr
sudo wrmsr 0x391 0x20000000
sudo wrmsr 0x394 0x400000
sudo rdmsr 0x395 -d;sleep 1;sudo rdmsr 0x395 -d
第一个命令加载 msr 模块。第二个命令设置位 29, MSR_UNC_PERF_GLOBAL_CTRL
启用所有非核心计数器。第三个命令设置位 22,MSR_UNC_PERF_FIXED_CTRL
启用固定非核心计数器。最后一个命令的输出为我提供了一秒钟的非核心时钟滴答数。