私は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=disable
intel_pstate(カーネルパラメータ)を無効にしました。- 「スリープ」の代わりに「パフォーマンス」ポリシーを強制的に使用します。
- 最小周波数を3GHzに設定します。はい、それでもうまくいきません! CPUはフルロード時にまだ400MHzに低下し、アイドル状態では3GHzに戻ります。
- を削除しようとしています
tlp
。 - 温度を再確認しました。負荷がかかった状態では、温度は60℃を超えません。
- オンラインで見つけたすべての可能な解決策を試しましたが、何の効果もありませんでした。
- ターボブーストを無効にしました
- BIOSには変更するCPU関連のオプションはありません。
- 充電器からノートパソコンを外しても違いはありません。
問題はLinuxでのみ発生したため、これがカーネル/ファームウェア/ドライバのバグであると疑われ始めました。だから私がしたことは、Intel Clear Linuxをライブで起動し、次のことをしました:
- 4つの単純な
while True: pass
Pythonスクリプトを実行して、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
わかったので、thermald
Debianリポジトリからインストールする必要がありました。それをやってみると、すべてがうまく機能し始めました。これ以上400MHzにダウンクロックする必要はありません。興味深いことに、私は過去にこのパッケージを個人的にインストールしたことがなく、以前のノートブックのどれもこの問題を経験したことがありません。以前は他のパッケージの依存関係で自動インストールされていたようですが、まったく気づかなかった。
ありがとうございます!