cpufreq スケーリング ガバナー「ondemand」と「conservative」は、AMD Ryzen CPU の nice 負荷を無視しません。

cpufreq スケーリング ガバナー「ondemand」と「conservative」は、AMD Ryzen CPU の nice 負荷を無視しません。

私のカーネルは、 Ryzen 9 5900X のスケーリング ドライバーとスケーリング ガバナーを5.11.0-22-generic自動的にロードします。ニーズに合わせてスケーリング ガバナーをまたはに変更した後、設定を有効にしました。cpufreqacpi-cpufreqschedutilignore_nice_loadondemandconservative

したがって、変更後はすべてが正しくなっているように見えます。すべての CPU に対してまたはを返し、1cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governorを返します。ondemandconservativecat /sys/devices/system/cpu/cpufreq/ondemand/ignore_nice_load

変更後も周波数スケーリングは期待どおりに機能しますが、nice 負荷は無視されません。つまり、nice 値 19 で実行されている BOINC プロセスにより、CPU 周波数が増加します。Ryzen 9 CPU で nice 負荷を無視する方法を思いつきますか?

答え1

5.13.0-21-genericこの問題は、Kubuntu 21.10 にアップグレードした後に受け取った新しいカーネル バージョンによって修正されました。ignore_nice_loadに設定すると1、BOINC がバックグラウンドで実行されている状態で CPU 周波数がスケーリングされません。

それでも、バックグラウンド負荷は CPU 温度に大きな影響を与えます。アイドル状態では、CPU 温度は、BOINC デーモンの起動前の 30 度弱から、BOINC デーモンの起動後は 50 度強に急上昇します。

またはignore_nice_loadに設定すると、 CPU 周波数に目に見える影響がありますが、CPU 温度と電力消費にはほとんど影響がありません。CPU 温度は60 度強から 50 度強に 10 度しか改善されません。01ignore_nice_load

私の結論は、CPU 電源管理が長年にわたって劇的に改善され、CPU がアイドル状態になることはなく、可能な場合はスリープ状態にすることで電力を節約しているということです。これにより、アイドル状態の CPU サイクルを活用するはずの BOINC などのツールの重要性が失われます。

関連情報