![如何彻底禁用 CPU 频率调整?在 Intel Tiger Lake CPU 笔记本电脑上运行内核 5.9 时出现问题](https://linux22.com/image/186005/%E5%A6%82%E4%BD%95%E5%BD%BB%E5%BA%95%E7%A6%81%E7%94%A8%20CPU%20%E9%A2%91%E7%8E%87%E8%B0%83%E6%95%B4%EF%BC%9F%E5%9C%A8%20Intel%20Tiger%20Lake%20CPU%20%E7%AC%94%E8%AE%B0%E6%9C%AC%E7%94%B5%E8%84%91%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%86%85%E6%A0%B8%205.9%20%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我刚刚购买了一台配备 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: pass
Python脚本以占用全部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。有趣的是,我过去从未亲自安装过这个软件包,而且我过去的所有笔记本电脑也从未出现过此问题。我猜它曾经作为其他软件包的依赖项自动安装,但我从未注意到它。
谢谢!