笔记本电脑运行缓慢,缺少性能电源模式且无法更改 CPU 调速器

笔记本电脑运行缓慢,缺少性能电源模式且无法更改 CPU 调速器

我最近注意到我的一台 Ubuntu 笔记本电脑开始运行非常慢。在这里搜索了一些工具来检查 CPU 状态并与另一台装有相同版本的 PC 进行比较后,我发现这台运行缓慢的笔记本电脑仅以最低的 CPU 速度运行。

当我进入时,Settings -> Power我只看到Balanced没有Power Saver模式Performance。运行相同 Ubuntu 的其他 PC 显示一个Performance模式。知道为什么它缺失吗? power-profiles-daemon已安装并正在运行/活动。

我安装cpufrequtils并运行后,cpufreq-info我可以看到所有线程都在使用调节器ondemand,但始终以 798 MHz 运行(CPU 最低=800 Mhz),无论功率设置Balanced如何Power Saver

analyzing CPU 7:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 7
  CPUs which need to have their frequency coordinated by software: 7
  maximum transition latency: 20.0 us.
  hardware limits: 800 MHz - 3.50 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance, schedutil
  current policy: frequency should be within 800 MHz and 3.50 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 798 MHz.

此外,当我运行sudo cpufreq-set -r -g performance并将所有核心设置为performance调节器时,它对上述结果没有影响。

F.40该笔记本电脑是 HP Omen 15-5000na Intel Core i7-4710HQ @ 2.50Ghz x 8 运行 Ubuntu 22.04.1 LTS 这款笔记本电脑过去一直运行 BIOS 版本,没有问题。有一个较新的 BIOS( F.48 Rev.A),但 HP 只提供 Windows .exe

编辑1:

下面建议的命令echo performance...确实改变了输出,cpufreq-info因为它现在显示,The governor "performance" may decide which speed to use但 CPU 频率仍然始终设置为最小值。并且建议grep显示ondemand所有线程,直到那时echo performance它才显示performance所有线程。

结果sudo turbostat --Summary --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt,CorWatt --interval 5

turbostat version 21.05.04 - Len Brown <[email protected]>
CPUID(0): GenuineIntel 0xd CPUID levels
CPUID(1): family:model:stepping 0x6:3c:3 (6:60:3) microcode 0x28
CPUID(0x80000000): max_extended_levels: 0x80000008
CPUID(1): SSE3 MONITOR - EIST TM2 TSC MSR ACPI-TM HT TM
CPUID(6): APERF, TURBO, DTS, PTM, No-HWP, No-HWPnotify, No-HWPwindow, No-HWPepp, No-HWPpkg, EPB
cpu2: MSR_IA32_MISC_ENABLE: 0x00850089 (TCC EIST MWAIT PREFETCH TURBO)
CPUID(7): No-SGX
cpu2: MSR_MISC_PWR_MGMT: 0x00400000 (ENable-EIST_Coordination DISable-EPB DISable-OOB)
RAPL: 5578 sec. Joule Counter Range, at 47 Watts
cpu2: MSR_PLATFORM_INFO: 0x80838f3011900
8 * 100.0 = 800.0 MHz max efficiency frequency
25 * 100.0 = 2500.0 MHz base frequency
cpu2: MSR_IA32_POWER_CTL: 0x0004005d (C1E auto-promotion: DISabled)
cpu2: MSR_TURBO_RATIO_LIMIT: 0x21212223
33 * 100.0 = 3300.0 MHz max turbo 4 active cores
33 * 100.0 = 3300.0 MHz max turbo 3 active cores
34 * 100.0 = 3400.0 MHz max turbo 2 active cores
35 * 100.0 = 3500.0 MHz max turbo 1 active cores
cpu2: MSR_CONFIG_TDP_NOMINAL: 0x00000019 (base_ratio=25)
cpu2: MSR_CONFIG_TDP_LEVEL_1: 0x00000000 ()
cpu2: MSR_CONFIG_TDP_LEVEL_2: 0x00000000 ()
cpu2: MSR_CONFIG_TDP_CONTROL: 0x80000000 ( lock=1)
cpu2: MSR_TURBO_ACTIVATION_RATIO: 0x00000000 (MAX_NON_TURBO_RATIO=0 lock=0)
cpu2: MSR_PKG_CST_CONFIG_CONTROL: 0x1e008405 (UNdemote-C3, UNdemote-C1, demote-C3, demote-C1, locked, pkg-cstate-limit=5 (pc7s))
/dev/cpu_dma_latency: 2000000000 usec (default)
current_driver: intel_idle
current_governor: menu
current_governor_ro: menu
cpu2: POLL: CPUIDLE CORE POLL IDLE
cpu2: C1: MWAIT 0x00
cpu2: C1E: MWAIT 0x01
cpu2: C3: MWAIT 0x10
cpu2: C6: MWAIT 0x20
cpu2: C7s: MWAIT 0x32
cpu2: cpufreq driver: intel_cpufreq
cpu2: cpufreq governor: performance
cpufreq intel_pstate no_turbo: 0
cpu2: MSR_MISC_FEATURE_CONTROL: 0x00000000 (L2-Prefetch L2-Prefetch-pair L1-Prefetch L1-IP-Prefetch)
cpu0: EPB: 4 (custom)
cpu0: MSR_CORE_PERF_LIMIT_REASONS, 0x3d210001 (Active: PROCHOT, ) (Logged: Transitions, MultiCoreTurbo, PkgPwrL2, PkgPwrL1, Amps, Auto-HWP, PROCHOT, )
cpu0: MSR_GFX_PERF_LIMIT_REASONS, 0x0c010000 (Active: ) (Logged: PROCHOT, PkgPwrL1, PkgPwrL2, )
cpu0: MSR_RING_PERF_LIMIT_REASONS, 0x09010000 (Active: ) (Logged: PROCHOT, Amps, PkgPwrL2, )
cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0.125000 Watts, 0.000061 Joules, 0.000977 sec.)
cpu0: MSR_PKG_POWER_INFO: 0x00000178 (47 W TDP, RAPL 0 - 0 W, 0.000000 sec.)
cpu0: MSR_PKG_POWER_LIMIT: 0x804281d600dc8178 (locked)
cpu0: PKG Limit #1: ENabled (47.000000 Watts, 28.000000 sec, clamp DISabled)
cpu0: PKG Limit #2: ENabled (58.750000 Watts, 0.002441* sec, clamp DISabled)
cpu0: MSR_PP0_POLICY: 0
cpu0: MSR_PP0_POWER_LIMIT: 0x00000000 (UNlocked)
cpu0: Cores Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_PP1_POLICY: 0
cpu0: MSR_PP1_POWER_LIMIT: 0x00000000 (UNlocked)
cpu0: GFX Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x04641000 (100 C)
cpu0: MSR_IA32_PACKAGE_THERM_STATUS: 0x8827080c (61 C)
cpu0: MSR_IA32_PACKAGE_THERM_INTERRUPT: 0x00000003 (100 C, 100 C)
cpu2: MSR_PKGC3_IRTL: 0x00008842 (valid, 67584 ns)
cpu2: MSR_PKGC6_IRTL: 0x0000886a (valid, 108544 ns)
cpu2: MSR_PKGC7_IRTL: 0x00008891 (valid, 148480 ns)
Busy%   Bzy_MHz IRQ PkgTmp  PkgWatt CorWatt GFXWatt
29.84   800 17045   60  12.01   2.78    0.49
23.35   800 11239   62  11.89   2.54    0.43
33.84   800 18221   61  12.51   3.07    0.72
28.59   800 13540   61  12.39   2.80    0.82
29.03   800 16247   60  12.15   2.85    0.62
18.48   800 12915   58  11.90   1.77    1.44

编辑2/更新/已解决:

以下关于我的硬件设置的标志的答案PROCHOT确实是 CPU 节流的原因。因此标记为正确。非常感谢。

至于硬件为什么要设置标志 - 更多信息,以防将来对其他人有帮助,因为我做了以下两件事,到目前为止不再有 PROCHOT。所以下面的一件事似乎起了作用,我只是不确定是哪一件事:

(1) 我打开机箱检查风扇并清除灰尘。两个风扇运转正常,有一些灰尘,但不是很多。我还把笔记本电脑放在某个东西上,让它坐得更高,希望能改善下面的气流,因为那里有进气口。

(2) 我的笔记本电脑电池一年前就没电了,从那时起,Ubuntu 电源统计信息甚至没有显示电池存在。但是当我将它用作交流电台式机时,这不是问题,直到最近才出现速度变慢的情况。但是,我看到一些帖子说电池故障有时会导致这种情况,PROCHOT所以我想我应该从笔记本电脑中取出电池。

答案1

当未指定命令行参数时,性能限制(节流)原因会列在 turbostat 启动信息中--quiet。因此,与此问题相关的行是:

cpu0: MSR_CORE_PERF_LIMIT_REASONS, 0x3d210001 (Active: PROCHOT, ) (Logged: Transitions, MultiCoreTurbo, PkgPwrL2, PkgPwrL1, Amps, Auto-HWP, PROCHOT, )
cpu0: MSR_GFX_PERF_LIMIT_REASONS, 0x0c010000 (Active: ) (Logged: PROCHOT, PkgPwrL1, PkgPwrL2, )
cpu0: MSR_RING_PERF_LIMIT_REASONS, 0x09010000 (Active: ) (Logged: PROCHOT, Amps, PkgPwrL2, )

最相关的部分是表明在采样时Active: PROCHOT处理器外部位处于活动状态,这是处理器 CPU 时钟频率被限制到最小的原因。PROCHOT

位的实现PROCHOT以及对它的断言都依赖于硬件。

有趣的是,两个功率限制位都显示为已记录,但当前未激活,并且处理器温度对于最低 CPU 时钟频率来说似乎有点高。

相关内容