我的 thinkpad 每核心频率被限制为 400mhz。有什么方法可以强制它以内核的正常速度计时吗?

我的 thinkpad 每核心频率被限制为 400mhz。有什么方法可以强制它以内核的正常速度计时吗?

Lenovo ThinkPad 和 Intel CPU 似乎存在一个常见问题,每个核心频率被限制为 400mhz:

有趣的是,这不仅仅是基于操作系统。即使在 BIOS 或诊断中,也会发生这种限制。它有时会恢复到正常速度,但不会永远。当电池节流时,电池也不会充电。

至于造成这种情况的原因以及解决方案是什么,似乎没有明确的答案。对我来说,催化剂似乎是当我让笔记本电脑在睡眠时放电时。我已经处理这个问题一周了。我已经:

  • 更新了BIOS
  • 回滚 BIOS
  • 尝试过不同的充电器
  • 拔掉电池并耗尽电容器的电量
  • 拔掉时钟电池
  • 更改 BIOS 中的 CPU 设置
  • 按住重置

除了购买新电池和使用内核之外,几乎一切都完成了。据我了解,人们尝试过更换新电池,但该解决方案仅在某些时候有效。

我想看看我能用内核做什么;我擅长 C++、Qt 和 C 编程,但我只是不了解内核,也没有任何使用 CPU 等的经验。

  1. 我可以探索一个内核模块来处理这个问题吗?
  2. 内核可以强制提高时钟速度吗?
  3. 是否有更简化的现有解决方案可以迫使我的计算机恢复到常规时钟速度?

谢谢。


编辑:将调速器从 Powersave 更改为 Performance 后,我仍然看到同样的问题:

前:

➜  ~ cpupower -c all 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:  Cannot determine or is not supported.
  hardware limits: 400 MHz - 3.40 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 400 MHz and 3.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 400 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
analyzing CPU 1:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 400 MHz - 3.40 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 400 MHz and 3.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 400 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
analyzing CPU 2:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 2
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 400 MHz - 3.40 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 400 MHz and 3.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 400 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
analyzing CPU 3:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 400 MHz - 3.40 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 400 MHz and 3.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 400 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

后:

➜  ~ sudo cpupower frequency-set -g performance       
[sudo] password for anon: 
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
➜  ~ cpupower -c all 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:  Cannot determine or is not supported.
  hardware limits: 400 MHz - 3.40 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 400 MHz and 3.40 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 400 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
analyzing CPU 1:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 400 MHz - 3.40 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 400 MHz and 3.40 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 400 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
analyzing CPU 2:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 2
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 400 MHz - 3.40 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 400 MHz and 3.40 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 400 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
analyzing CPU 3:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 400 MHz - 3.40 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 400 MHz and 3.40 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 400 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

答案1

长话短说:

  • 完全关闭笔记本电脑
    • Windows 10/11 您需要在选择关机时按 Shift 键
    • 在 Linux 上,您可能已经禁用了此功能
  • 关闭时按住电源按钮 10 秒钟。 (笔记本电脑应该使风扇旋转,但屏幕上不显示任何内容。大约 10 秒后,风扇将停止旋转。)
  • 正常打开笔记本电脑,USB-C PD 充电应恢复正常,CPU 不应受到限制。

我的 Lenovo IdeaPad 5 Pro 遇到了一些问题,AMD Ryzen 7 5800H 也被固定在 400 Mhz 上,这种情况在 BIOS 更新后开始出现,但令人惊讶的是,只有在连接到 USB-C PD 充电器时才会出现这种情况。这台笔记本电脑也有一个专用的外部电源块,插入该电源块并没有导致我所看到的系统速度减慢。

这种情况发生在 Linux、Windows 和 BIOS 设置中,因此操作系统不可能是罪魁祸首。最后,使用此解决方案线解决了我的问题,在笔记本电脑关闭时按下电源按钮 10 秒钟,很可能会清除 CMOS 中的某些内容,并使笔记本电脑恢复正常。

相关内容