Debian

如何完全禁用 CPU 頻率縮放?在 Intel Tiger Lake CPU 筆記型電腦上執行核心 5.9 的問題

  • January 12, 2021

我剛買了一台配備 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: passPython 腳本以佔用所有 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。有趣的是,我過去從來不需要自己安裝這個包,而且我過去的所有筆記型電腦都沒有這個問題。我猜它曾經作為其他軟體包的依賴項自動安裝,但我從未註意到它。

謝謝!

引用自:https://unix.stackexchange.com/questions/627808