最近、レギュレータを「スリープ」の代わりに「パフォーマンス」に設定すると、CPUのパフォーマンスを向上させることができるという記事を読んでいます。 ~によるとアーチスウィキ、「最小周波数」の代わりに「最大周波数でCPUを実行」します。
この表現が混乱していたので、私も読んだ。カーネル文書。
2.1 パフォーマンス
CPUfreqレギュレータ「パフォーマンス」は、CPUをScaling_min_freqおよびScaling_max_freqの範囲内で最も高い周波数に静的に設定します。
2.2 節電
CPUfreq ガバナー「powersave」は、CPU を Scaling_min_freq および Scaling_max_freq の範囲で最低周波数に静的に設定します。
「静的」とはどういう意味ですか?私にとって、これは「動的」とは対照的であり、周波数が絶対に変化しないことを意味します。つまり、電力を節約するとCPU周波数がいつもは単一値で、と同じですscaling_min_freq
。しかし、これは明らかに真実ではありません。現在、デフォルトでは「powersave」を実行します。 CPU周波数を監視できます。
$ watch grep \"cpu MHz\" /proc/cpuinfo
動的に変更されることを確認してください。
カーネル文書で「静的」とはどういう意味ですか? CPU周波数に影響を与える要因は何ですか?これらの要因は、スリープとパフォーマンスによってどのように異なりますか?それでは、前者から後者に移動するということはどういう意味ですか?より高い周波数が使用されますか?どんな条件で?具体的には、これがCPUの消費電力、発熱、寿命に影響を与えますか?
ベストアンサー1
参考までに(最新)cpufreq
ここのドキュメント。
「静的」とはどういう意味ですか?私にとって、これは「動的」とは対照的であり、周波数が決して変わらないことを意味します。つまり、
powersave
CPU周波数は常に次のような単一値です。scaling_min_freq
あなたは正しいです。以前のcpufreq
ドライバー時代には、動的ガバナーと静的ガバナーという2種類のガバナーがありました。違いは、動的ガバナー(および)ondemand
はconservative
CPU使用率に応じてCPU周波数を切り替えることができ、静的ガバナー(および)はCPU周波数を変更しないことです。
しかし、ご存じのとおり、新しいドライバを使用すると、performance
powersave
これは明らかに真実ではありません。
新しいドライバが呼び出されるためです。intel_pstate
、作業方法が異なります。 AKAp-states
の運用パフォーマンスポイントには、アクティブ電力管理とアイドル競合が含まれます。これは、電圧と周波数の調整を意味します。詳しくは公式ドキュメントをご覧ください。
実際の質問に関しては、
CPUガバナーを「パフォーマンス」に設定するとどのような効果がありますか?
これに対する答えも同じ文書に記載されています。すべて同じ千号+プロセッサ、CPUの動作モードは - 基本的に -「HWPを利用したアクティブモード」したがって、知事を使用する意味は次のとおりperformance
です(強調)。
HWP+性能
この構成では、プロセッサのエネルギーパフォーマンス設定()ノブ(サポートされている場合)またはエネルギーパフォーマンスバイアス()ノブ(そうでない場合)を
intel_pstate will
作成します。0
EPP
EPB
これは、プロセッサの内部P状態選択ロジックが完全に性能に焦点を合わせることが期待されることを意味する。。これはインターフェイスの/ settingsをオーバーライドします
EPP
(以下のエネルギーとパフォーマンスのヒントを参照)。また、この構成では、プロセッサの内部P状態選択ロジックに使用できるP状態範囲は常に上限(つまり、ドライバで使用可能な最大P状態)に制限されます。EPB
sysfs
一言で言えば:
intel_pstate
実際には支店そしてハードウェアドライバ一体。これは2つの戦略をサポートします。
performance
ポリシー常に最高のp状態を選択してください。:パフォーマンスを最大化し、「アイドル競合」とも呼ばれる仮想エネルギー消費ゼロ状態に戻ります。- この
powersave
戦略は、パフォーマンスと省エネのバランスをとろうとします。 CPU使用率(この特定のp状態の負荷は、より高いp状態に入ると低下する可能性があります)と容量(最高性能から最大性能)に基づいて適切なp状態を選択します。 p状態)