web-dev-qa-db-ja.com

WindowsがCPUを「制限」する方法(電源オプション/バッテリー節約)

WindowsがCPUを効果的に制限する方法を誰かが説明できますか?

前回、ノートパソコンがオーバーヒートしないようにいくつかのトリックを試したので、CPUを70%に制限してみました。

驚いたことに、それは私のラップトップの過熱を止めました-私のラップトップを過熱してシャットダウンさせたCPU集中型アプリケーションを起動したときでさえ、私のラップトップをもう過熱しませんでした!

タスクマネージャーを確認しましたが、「CPU集中型」アプリケーションは引き続きCPUの約95%を使用し、Windowsタスクマネージャーは合計100%のCPU使用率を示しています。

ここでCPU使用率を制限しました(「プラグイン」オプションは、CPU集中型アプリケーションのテスト時に70%[最小と最大の両方]でした):

enter image description here

Windowsはこの魔法をどのように実行しますか?

CPU使用率は100%ですが、CPUがオーバーヒートしません。また、パフォーマンスに違いはありません。

WindowsはCPU速度を制限しますか?たとえば、2.4 GHzのプロセッサを使用している場合、70%では制限されている場合、1.68 GHzしかありません。これはどのようにして可能ですか(CPU速度の変更)? BIOSでしかアンダークロックできないと思いましたか?

そうでない場合、速度を変更しない場合、Windowsはどのようにこれを実現しますか?


副次的な質問:速度に関するものであれば、CPUの最大状態を200%に設定する方法はありますか?

19
user144773

この現象は、プロセッサ 周波数スケーリング と呼ばれ、省電力と熱に関する考慮事項に対処するために行われます。スケーリングは、CPUで クロック乗数を減らす によって実行され、その全体的な周波数(GHz)を減らします。ほとんどのプロセッサは100〜166 MHzで動作しますが、 クロックレート を使用すると、サイクルごとに複数の操作を実行できます。私の3.8GHz CPUは実際には100MHzで、クロック乗数はx38です。説明どおりのスケーリングは、ノートパソコンで最も一般的です。これは、パフォーマンスとバッテリー寿命およびシステムの制限された熱排出能力とのバランスをとるためです。

周波数スケーリングはOSの下で発生するため、OSは減少した容量を100%として認識します。そのため、CPUを100%使用しているプロセスが表示されます。 利用可能なCPUの100%であり、スケーリングされていない総容量の100%ではありません。

スケーリングはファームウェアレベルで行われますが、Windowsは現在のニーズに基づいてCPUのスケールを自動的に調整でき、BIOS/UEFIファームウェアへの--​​ Advanced Configuration and Power Interface (ACPI)を介してこれを実現します。 Windowsは可能な場合でも周波数を抑制しますが、OSがそれが有用であると判断した場合、乗数を適切と思われるレベルまで引き上げます。あなたのケースでは、バッテリーの電力を節約し、CPUの消耗を抑えるために、バッテリー使用中の最小状態を減らすことができます。

余談ですが、CPUのクロックレートを上げることは、まさに overclocking が行うことですが、もちろん制限があります。ファームウェアは操作をサポートする必要があり、ハードウェアは変更された仕様で実際に機能する必要があり、燃え尽きたり、隣接するコンポーネントとの非互換性を生じたりすることはありません(RAM速度はRAMでサポートされている必要があります)。私は確かに、私が200%まで気にかけていたOCハードウェアは決してありません。デフォルトの34xシステムに6x以上を追加すると、ブルースクリーンと熱の問題が発生し始めます。

24
Frank Thomas