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

Seb*_*ber 5 cpufreq scaling cpu turbo-boost cpuinfo

我试图理解为什么我的 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
Run Code Online (Sandbox Code Playgroud)

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


我打开的相关问题是为了解决我的问题(可能包含此处未提及但可能有用的其他信息)


附加信息:

$ sudo rdmsr -a 0x19a
0
0
0
0
rdmsr: No CPU 4
Run Code Online (Sandbox Code Playgroud)

Dou*_*ies 3

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

您的 CPU 频率可能超出您设置的限制,因为如果负载足够轻,并且无论您要求什么,处理器本身都可以关闭 PLL(锁相环)。不用担心,如果有实际工作要做,CPU 频率会很快上升。在您的情况下,您正在使用性能调节器,这将提供最快的 CPU 频率提升时间。

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

$ sudo modprobe msr
$ sudo rdmsr -a 0x19a
Run Code Online (Sandbox Code Playgroud)

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