CPU 扩展:当前频率如何超出最小-最大范围?

CPU 扩展:当前频率如何超出最小-最大范围?

我试图理解为什么我的 CPU 不能以更高的频率运行(相关链接

有人能解释一下,当定义了最小值和最大值后,有效值最终怎么会超出该范围呢?

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
3267000
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
3300000
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 
1199960


$ cpupower frequency-info
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 0.97 ms.
  hardware limits: 800 MHz - 3.30 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 3.27 GHz and 3.30 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 1.20 GHz.
  boost state support:
    Supported: yes
    Active: yes
    25500 MHz max turbo 4 active cores
    25500 MHz max turbo 3 active cores
    25500 MHz max turbo 2 active cores
    25500 MHz max turbo 1 active cores

cpuinfo_cur_freq另外,有人可以解释一下和之间的区别scaling_cur_freq吗?


我为解决我的问题而打开的相关问题(可能包含这里未提及的可能有用的其他信息)


附加信息:

$ sudo rdmsr -a 0x19a
0
0
0
0
rdmsr: No CPU 4

答案1

这取决于您的处理器,对于您的处理器来说,情况确实如此,cpuinfo_cur_freq并且scaling_cur_freq是相同的。
对于某些处理器,cpuinfo_cur_freq涉及硬件读取,并且可能在时间上“昂贵”,这就是它需要sudo访问的原因。

您的 CPU 频率可能超出您设置的限制,因为如果负载足够轻,处理器本身可以退出 PLL(锁相环),无论您要求什么。不用担心,如果有实际工作要做,CPU 频率会非常快地旋转。在您的例子中,您正在使用性能调节器,它将提供最快的 CPU 频率提升时间。

对于您提到的其他问题,正如我在那里提到的,我认为涉及时钟调制,这对 intel_pstate CPU 频率驱动程序来说是一个问题。要确认或否认时钟调制是否已启用,请将此结果添加到您的问题中:

$ sudo modprobe msr
$ sudo rdmsr -a 0x19a

msr-tools请注意, rdmsr 原语需要该包。一旦提供信息,我将对其进行解码。

相关内容