如何彻底禁用 CPU 频率调整?在 Intel Tiger Lake CPU 笔记本电脑上运行内核 5.9 时出现问题

如何彻底禁用 CPU 频率调整?在 Intel Tiger Lake CPU 笔记本电脑上运行内核 5.9 时出现问题

我刚刚购买了一台配备 Intel Tiger Lake CPU(i7-1165G7;2.80GHz)的新笔记本电脑(Asus UX435EG-AI084R),并在其上安装了 Debian Linux(测试版)。不幸的是,我遇到了一个与 CPU 频率缩放相关的非常奇怪的问题。每次CPU处于高负载时,频率都会下降到400MHz。当 CPU 停止负载并且系统(几乎)空闲时,频率会上升到约 1.2GHz。 CPU 永远不会变热。由于某种原因,系统在需要时没有增加频率,而是降低了频率!有趣的是,这种行为在 Windows 10 Pro(双启动)下不存在。

我尝试了以下方法但未能改变上述奇怪的行为:

  • 我禁用了 intel_pstate (intel_pstate=disable内核参数)
  • 强制使用“性能”策略而不是“省电”
  • 将最小频率设置为 3GHz。是的,即使这样也行不通! CPU 在满负载时仍会降至 400MHz,空闲时会恢复到 3GHz。
  • 我尝试卸载tlp
  • 我仔细检查了温度。在负载下温度绝不会超过 60C。
  • 我尝试了在网上找到的所有可能的解决方案,但没有任何效果。
  • 我禁用了睿频加速
  • BIOS 中没有与 CPU 相关的选项可供修改。
  • 断开笔记本电脑与充电器的连接没有任何区别。

由于该问题仅出现在 Linux 上,因此我开始怀疑这是内核/固件/驱动程序错误。所以我所做的是实时启动 Intel Clear Linux 并执行以下操作:

  • 运行四个简单的while True: passPython脚本以占用全部4个核心; lscpu 返回~400MHz。
  • 杀掉其中一个正在运行的脚本占用3个核心; lscpu 返回~800MHz。
  • 杀掉其中一个正在运行的脚本,占用2个核心; lscpu 返回 ~1200MHz。
  • 杀掉其中一个正在运行的脚本,占用1个核心; lscpu 返回 ~1800MHz。

目前,Debian Linux(测试版)使用内核 5.9.0-5,而 Intel Clear Linux 使用内核 5.9.12。我的另一台笔记本电脑配备了 3 年的 Intel CPU 和相同的 Debian Linux 版本,没有这个问题。

  • 假设我们正在查看软件/内核/驱动程序错误是否合理?
  • 在等待内核 5.10 登陆 Debian 测试时,有没有办法完全禁用任何类型的频率缩放?

谢谢

编辑1:

结果 5.10 内核没有修复任何问题。 Ubuntu 20.10 上也存在同样的问题。我想我需要弄清楚 Intel Clear Linux 的不同之处,并尝试相应地配置 Debian。任何建议都非常受欢迎。

答案1

结果我必须thermald从 Debian 存储库安装。一旦我这样做了,一切就开始正常工作了。不再需要降频至 400MHz。有趣的是,我过去从未亲自安装过这个软件包,而且我过去的所有笔记本电脑也从未出现过此问题。我猜它曾经作为其他软件包的依赖项自动安装,但我从未注意到它。

谢谢!

相关内容