Lenovo Legion Y520とi7-7700HQ(ベースクロック2.8Ghz)およびGTX 1050を併用。
LinuxでCPUの過熱警告が出て、ゲームのパフォーマンスに影響を与えています(Payday 2とCS:GOにあります)。 Windowsで問題が発生したことはありません。
これは、この問題をトラブルシューティングしようとしたときに見つけたものです。
Windows 10の場合(aida64を使用)
Windowsはアイドル状態で約3.4 GHz(CPU使用率が3%未満でこれが非常に高い理由はわかりません)であり、温度は約50Cです。
CPUにストレスがかかると、温度は約50℃から約75℃までゆっくりと変化し、快適に維持されます。ストレスがかかると、クロック速度は約2.9Ghzになります。使用率は常に100%です。 Aida64はスロットルを報告しません。ストレスがかかると、CPUコアの電圧は約1.1から0.9に調整されます。
Arch Linuxの場合(s-tuiを使用)
Linuxはアイドル状態で約2.0Ghzのままで、温度は約50Cです。
ここが奇妙なところです。CPUにストレスがかかると、温度はすぐに50Cから約93Cになります。ストレスがかかると、クロック速度は正確に3.4Ghzになります。使用率は常に100%です。ストレステストをオフにすると、何も起こらなかったかのように、温度はすぐに約50℃に戻ります。これを行うと、長時間のストレスがかかった後でも、ラップトップは確かに90度以上に熱くなるようには感じません。
次の画像は、温度、電力、周波数がまったく同時に低下する様子を示しています。わずかな時間でCPU温度がどれだけ変化するかに注目してください。
この調整の問題を修正するにはどうすればよいですか? LinuxでCPUを弱体化しますか? Linuxでは温度が正しく表示されず、Windowsでは表示されないのはなぜですか?
Cpupowerを使用してプロファイルを省電力からパフォーマンスに変更しました。 s-tuiでも同じスロットルが表示されます。 (約2000-2500Mhzから常に3400Mhzに設定する代わりに)パフォーマンスに設定すると、アイドルCPU周波数が急上昇しますが、変更されたのはそれだけです。
ファン制御
fancontrol(lm_sensors) を使用してファンを制御しようとしましたが、pwmconfigにpwm対応センサーモジュールがインストールされていません。
[〜#〜] nbfc [〜#〜] で試してみましたが、どのプロファイルを選択しても、何も実行していないようです。 NBFCがファンを制御できるかどうかさえわかりませんが、プロファイルを選択するときにエラーは報告されません。
私も thinkfan を試しましたが、スロットリングには役立ちません。また、私のファンの速度は8RPMであると考えています。 このスレッドを参照してください
ソリューション
デフォルトの3800の代わりにcpupowerを使用して最大許容CPU周波数を3100MHzのようなものに下げると、すべての問題が解決することがわかりました。
Sudo cpupower frequency-set -u 3100MHz
また、/etc/default/cpupower
のmax_freqを同じ値に変更して、永続的にしました。これにより、ゲームのfpsがわずかに低下することがわかりましたが、深刻な問題はありません。少なくとも私のfpsは安定しています:)
悲しいことに、これは何かをコンパイルするときのように、ゲーム以外のタスクのパフォーマンスを低下させる可能性があると思います。
違いは、異なるCPUスロットリングプロファイルを使用するWindowsとLinuxによるものです。
Linuxではこれをある程度制御できます。たとえば、次のコマンドは、現在使用されているプロファイルを表示します。
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
使用するプロファイルを選択する方法があります。 Arch Linux wikiにはこれに関する良い情報があり、読む価値があるかもしれません:
ファン制御の追加の問題があります-ファンを制御するための適切なドライバーを持っていること、およびゲーム中にファンが十分に高い速度に設定されていることを確認する必要があります。
Linux on Laptops は役立つリソースです。