私は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年を超えており、どれだけ長く続くかわからないので、このように考えました。
- できるだけ長く持続させてください。
- 高い負荷と温度でファンの騒音が大幅に大きくなる可能性があるため、騒音公害を減らします。
数年前、私はこのタスクを実行するために使用できるいくつかのガバナーがいましたが、今だけであることpowersave
に驚きましたperformance
。cpupower
たとえば、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_table
GPUが実行できる最大周波数が最大CPU周波数に対応することがわかります。 CPU周波数を設定した後、/sys/class/drm/card0/gt_max_freq_mhz
およびでGPU周波数も調整する必要があります/sys/class/drm/card0/gt_boost_freq_mhz
。