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=disableintel_pstate(カーネルパラメータ)を無効にしました。
  • 「スリープ」の代わりに「パフォーマンス」ポリシーを強制的に使用します。
  • 最小周波数を3GHzに設定します。はい、それでもうまくいきません! CPUはフルロード時にまだ400MHzに低下し、アイドル状態では3GHzに戻ります。
  • を削除しようとしていますtlp
  • 温度を再確認しました。負荷がかかった状態では、温度は60℃を超えません。
  • オンラインで見つけたすべての可能な解決策を試しましたが、何の効果もありませんでした。
  • ターボブーストを無効にしました
  • BIOSには変更するCPU関連のオプションはありません。
  • 充電器からノートパソコンを外しても違いはありません。

問題はLinuxでのみ発生したため、これがカーネル/ファームウェア/ドライバのバグであると疑われ始めました。だから私がしたことは、Intel Clear Linuxをライブで起動し、次のことをしました:

  • 4つの単純なwhile True: passPythonスクリプトを実行して、4つのコアをすべて占有します。 lscpu は ~400MHz を返します。
  • 実行中のスクリプトの1つを終了すると、lscpuは〜800MHzを返します。
  • 2つのコアを占有する実行中のスクリプトの1つを終了します。 lscpu は ~1200MHz を返します。
  • 1つのコアを占有する実行中のスクリプトの1つを終了すると、〜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

わかったので、thermaldDebianリポジトリからインストールする必要がありました。それをやってみると、すべてがうまく機能し始めました。これ以上400MHzにダウンクロックする必要はありません。興味深いことに、私は過去にこのパッケージを個人的にインストールしたことがなく、以前のノートブックのどれもこの問題を経験したことがありません。以前は他のパッケージの依存関係で自動インストールされていたようですが、まったく気づかなかった。

ありがとうございます!

関連情報