私のCPUがcpupowerに設定された最大周波数を無視するのはなぜですか?

私のCPUがcpupowerに設定された最大周波数を無視するのはなぜですか?

私はLenovo T530ノートブックでDebian 10(buster)を使用していますが、4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux長年i7-3630QMの周波数スケーリングと温度の問題を心配していませんでしたが、最近問題がありました。

CPU集中型アプリケーションを実行しようとすると、CPUは長時間非常に熱くなる可能性があります。これは100℃以上を意味します。このノートパソコンは今8年を超えており、どれだけ長く続くかわからないので、このように考えました。

  1. できるだけ長く持続させてください。
  2. 高い負荷と温度でファンの騒音が大幅に大きくなる可能性があるため、騒音公害を減らします。

数年前、私はこのタスクを実行するために使用できるいくつかのガバナーがいましたが、今だけであることpowersaveに驚きましたperformancecpupowerたとえば、2.4 GHzを使用して最大周波数を設定してみましたcpufreq-set -u 2.4GHz

残念ながら、これは実際には動作しないようです。cpupower frequency-infoレポート

  current policy: frequency should be within 1.20 GHz and 2.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.

cpupower frequency-infoしかし、CPU集約的なアプリケーション(特に3Dグラフィックスアクセラレーションを必要とするアプリケーション)を実行すると、私の場合、「Stellaris」ゲームが報告されているように、CPUが非常に熱くなることは驚くべきことではありません。

  hardware limits: 1.20 GHz - 3.40 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 1.20 GHz and 2.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.30 GHz (asserted by call to kernel)

これは実際に矛盾しています。

これでこの問題が議論されました。これ著者が解決した問題彼の答え。しかし、一部の人々はこれがうまくいかないとコメントしました。私の場合でも動作しませんでした。今号の別のポスターは彼の記事に書きました。回答これも機能せず、実際にカーネルに接続されます。文書周波数を安定して設定することは現実的に不可能であると述べられています。

私のノートパソコンのファンを最近掃除し、新しい熱ペーストを塗布しましたが、私が言ったように、コンピュータは古くてまだかなり熱いです。その他のポスター提案最大負荷を低い割合に設定すると、実際には効果がありましたが、CPUがまだ非常に熱くなっているため、問題は解決されませんでした。

CPU周波数を制限する信頼できる他の方法を知っている人はいますか?前述のStellarisの例では、ゲームがロードされてメインメニューに入ったときにCPUが周波数を2.4 GHzの設定値に制限しようとしたことがわかりました。保存ファイルをロードしてゲーム自体に入ると、最大頻度まで上昇しました。アプリケーション自体でこれらの値をオーバーライドすることは可能ですか?

CPUがこのように高い温度に達するのを防ぐ他の方法を知っている人はいますか?たとえば、CPUが自己調整を開始したときに温度しきい値を低く設定できますか?

ベストアンサー1

ありがとうアルトゥーンS.タシュキノフこの問題を解決できました。彼はコメントに書いた

intel_pstateの代わりにacpi-cpufreqを試してください。https://silvae86.github.io/2020/06/13/switching-to-acpi-power

それはすべてです。

acpi_cpufreq私はドライバをインストールする必要がありました(私の場合はすでにインストールされていました)。apt-get

apt-get install acpi-support acpid acpi

私の場合は、次のように追加/etc/default/grubして編集intel_pstate=disableします。GRUB_CMDLINE_LINUX_DEFAULT

GRUB_CMDLINE_LINUX_DEFAULT="quiet nosplash debug intel_pstate=disable"

update-grubその後、コンピュータを実行して再起動します。したがって、intel_pstateドライバは廃止され、acpi_cpufreq代わりに使用されます。より多くの知事の中から選ぶことができるだけでなく(次の内容を読むことができます。ここそれらについて)最も重要なのは、速度ondemandコントローラをオンにして最小周波数と最大周波数を設定できることです。そしてそれはそのまま維持されました。私の場合

cpupower frequency-set -g ondemand -d 1.2GHz -u 2.0GHz

これまで、機械はあまりにも熱くなりませんでした。

[編集] それでも、温度問題が発生した後でも問題が何であるかを見つけました。これはGPU周波数の問題であり、3Dアプリケーションを使用しても問題が引き続き発生します。/sys/kernel/debug/dri/0/i915_ring_freq_tableGPUが実行できる最大周波数が最大CPU周波数に対応することがわかります。 CPU周波数を設定した後、/sys/class/drm/card0/gt_max_freq_mhzおよびでGPU周波数も調整する必要があります/sys/class/drm/card0/gt_boost_freq_mhz

おすすめ記事