lscpu 报告的最大 CPU 频率错误,CPU 未提升到实际最大频率

lscpu 报告的最大 CPU 频率错误,CPU 未提升到实际最大频率

我使用的是 Ubuntu 20.04,我的 CPU 型号是 Intel i7-10750H:

> lscpu
Model name:                      Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
Stepping:                        2
Frequency boost:                 enabled
CPU MHz:                         800.000
CPU max MHz:                     2601.0000
CPU min MHz:                     800.0000

该处理器的最大频率为 5 GHz,而不是 2.6 GHz。即使玩图形密集型游戏,频率也从未超过 2.6 GHz。卡顿很明显。

在我的另一台笔记本电脑上,使用相同的 Ubuntu 版本,加速模式开箱即用。我该如何让这台电脑恢复正常?

更新

cat /sys/devices/system/cpu/cpufreq/boost返回1,因此应启用涡轮增压。

cpupower frequency-set --max 5000Mhz没有效果。

更新 2

设置GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=force"、更新 grub 并重新启动现在显示

Model name:                      Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
Stepping:                        2
CPU MHz:                         2600.000
CPU max MHz:                     5000.0000
CPU min MHz:                     800.0000

CPU频率经常停留在2600MHz。

这里有一个小测试,表明它从未达到 5000 MHz:

> stress -t 30 -c 20 -i 20 -m 20 &
                        while true

                            lscpu | grep "CPU MHz:"

                            sleep 2
                        end
stress: info: [2900] dispatching hogs: 20 cpu, 20 io, 20 vm, 0 hdd
CPU MHz:                         1506.625
CPU MHz:                         3499.999
CPU MHz:                         3599.998
CPU MHz:                         3511.052
CPU MHz:                         3599.481
CPU MHz:                         3574.137
CPU MHz:                         3505.161
CPU MHz:                         3532.195
CPU MHz:                         3579.484
CPU MHz:                         3578.953
CPU MHz:                         3500.001
CPU MHz:                         3500.000
CPU MHz:                         3591.847
CPU MHz:                         3544.761
CPU MHz:                         3500.000
stress: info: [2900] successful run completed in 31s
CPU MHz:                         2600.000
CPU MHz:                         2600.000
                                  

答案1

首先,确认您的 turbo 已打开。可以在 bios 中禁用它,也可以通过 powertop、auto-cpufreq 等程序禁用它(虽然是暂时的),并且在大多数笔记本电脑上,如果在 cpu 调节器中设置为省电模式,它会自动完全停止 boost。

坏消息是制造商经常在您将获得的时钟上撒谎。我无法保证 cpupower 程序或其功能的真实性,但我可以向您展示其中一些工作原理,以便您了解是否存在问题。CPU 的规格可能表明您获得 5Ghz,计算机上的功率限制可能会禁止该速度。例如:(我的 lscpu)

Vendor ID:               GenuineIntel
  Model name:            Intel(R) Core(TM) i5-10300H CPU @ 2.50GHz
    CPU family:          6
    Model:               165
    Thread(s) per core:  2
    Core(s) per socket:  4
    Socket(s):           1
    Stepping:            2
    CPU max MHz:         4500.0000
    CPU min MHz:         800.0000

这台机器上的处理器从未运行过 4.2GHz 以上,因为它是一台笔记本电脑,而且它无法获得电量/冷却。许多其他计算机也会有类似的问题。

使用 stress -c 8,来自 auto-cpufreq --stats:

CPU max frequency: 4500 MHz
CPU min frequency: 800 MHz

Core    Usage   Temperature Frequency
CPU0:   100.0%     77 °C     4200 MHz
CPU1:   100.0%     70 °C     4200 MHz
CPU2:   100.0%     75 °C     4200 MHz
CPU3:   100.0%     71 °C     4200 MHz
CPU4:   100.0%     77 °C     4200 MHz
CPU5:   100.0%     70 °C     4200 MHz
CPU6:   100.0%     75 °C     4200 MHz
CPU7:   100.0%     71 °C     4200 MHz

显然,它从未在原始情况下达到 4.5Ghz 的最大规格...但是,现在关键的是...大多数这些处理器仅额定 x 个核心全速运行(4.5 GHZ,这个处理器额定仅在 4 个核心下运行)...让我们尝试使用压力 -c 4...

重做后,我们的 4 个核心可以达到 4292,这样速度会快一点。我们先用一个试试。好的,转到 1 个线程,我们达到 4394。这将是这台机器的提升极限。在进行这些测试时,风扇几乎没有运转,而且这里的热量从未达到热上限。(从未超过 60C)。

无论如何,重点是向您展示这是如何工作的。问题可能出在我提到的任何组件上,而您实际上必须查看它们。

答案2

也许使用 cpupower-gui 包(https://manpages.ubuntu.com/manpages/impish/man1/cpupower-gui.1.html)可能会提供解决方案。我以前也遇到过类似的问题,这个方法对我有用。

答案3

我遇到了同样的问题,我通过在 BIOS 中启用 Intel Speed Shift 解决了它。

相关内容