如何完全禁用 CPU 頻率縮放?在 Intel Tiger Lake CPU 筆記型電腦上執行核心 5.9 的問題
我剛買了一台配備 Intel Tiger Lake CPU (i7-1165G7; 2.80GHz) 的新筆記型電腦 (Asus UX435EG-AI084R),並在上面安裝了 Debian Linux (Testing)。不幸的是,我遇到了一個與 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 (Testing) 使用核心 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。任何建議都非常受歡迎。
原來我必須
thermald
從 Debian 儲存庫安裝。一旦我這樣做了,一切都開始工作得很好。不再限製到 400MHz。有趣的是,我過去從來不需要自己安裝這個包,而且我過去的所有筆記型電腦都沒有這個問題。我猜它曾經作為其他軟體包的依賴項自動安裝,但我從未註意到它。謝謝!