Windows10で省電力設定を弄れるようにする(Turbo Boost)

Posted by 雅楽斎 on Wednesday, October 9, 2019

TOC

デフォルトの電源設定は…

Intelの第1世代Core以降で搭載された省電力技術としてTurbo Boostなるものがありますが、Windows101で設定をしてみようとすると…

プロセッサの電源管理にたどり着きます。

とりあえず設定可能なのはこの3つです。

設定項目はこんな感じ。

で、これが全然少ないと。Turbo Boost切りたいときもあるじゃんということで、ゴリゴリ色々書いていくのです。

なお、元ネタはこちら

Windows 8.1で消えた詳細な電源管理項目を表示する! (1/2)

メーカー製のPCではユーザーが触ることがないように制限されていることが多い電源管理の設定項目。レジストリを変更すれば、この項目を再び表示することも可能だ。

設定可能な項目は36個あるとのことで、ガリガリチューンしてピーキーさを追求するアプローチも考えようによってはありますが、とりあえず今回はTurbo Boostを有効・無効と他に大雑把な設定を簡便にできるようにすることを目標に設定項目を見てみたいと思います。

レジストリエディタで俯瞰する

スタートボタンの隣にある「ここに入力して検索」に無機質に「regedit」と打ち込んでEnterを押すと、見慣れたレジストリエディタが表示されますね。2

ここで「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00」をアドレスバーみたいなところに打ち込むとこんな風になります。

ぶら下がっているキーは60個以上ありました。全然32個じゃない…

変更できるようにレジストリを弄る

以下の2つを変更すると、電源設定に表示されて切り替えられるようになるとのことです。

Turbo Boost有効無効切り替え/プロセッサ パフォーマンスの向上モード/be337238-0d82-4146-a960-4f3749d470c7

こちらのAttributesが1になっているのを2に変更。型はDWORDだそうです。

クロック上限の設定/最大のプロセッサの状態/bc5038f7-23e0-4960-96da-33abaf5935ec

こちらはAttributesがないので、2を追加するそうです。こちらも型はDWORD。

レジストリエディタを弄るとか怖いのでファイルを作ってやることにする

Let’s note CF-AX3のShiftキーだけが壊れたのでCapslockを割り当てる変則技で乗り切るついでにレジストリエディタの仕様を理解

せっかくこの時に値の変更、追加、削除の仕方を覚えたので、これを応用する回。

Turbo Boostの有効無効切り替えとクロック上限の設定を電源設定に表示するregファイル

cpupowerefficientenable.reg

Windows Registry Editor Version 5.00

;enable Turbo Boost
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\be337238-0d82-4146-a960-4f3749d470c7]
"Attributes"=dword:00000002

;enable max freq limit
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\bc5038f7-23e0-4960-96da-33abaf5935ec]
"Attributes"=dword:00000002

こいつをぽちっとするとこうなりまして。

元に戻すregファイル(今は使わない/使う日は来るんだろうか…)

cpupowerefficientdisable.reg

Windows Registry Editor Version 5.00

;disable Turbo Boost
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\be337238-0d82-4146-a960-4f3749d470c7]
"Attributes"=dword:00000001

;disable max freq limit(delete value)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\bc5038f7-23e0-4960-96da-33abaf5935ec]
"Attributes"=-

電源設定をもう一回見てみると。

「プロセッサ パフォーマンスの向上モード」が無事に追加されますね。っていうか元から「最大のプロセッサの状態」ありました。なんてこった。

電源プランを作成する

これで設定変更できるようになったので、既存の電源プランをベースにしてTurbo Boostを無効にする電源プランを作成します。

プロセッサ パフォーマンスの向上モードをとにかく無効にして終了。

電源プランの選択

Windowsは電源プランに関するコマンドとしてpowercfg.exeというコマンドがあります。

Windowsコマンドなのに引数を-lにすると現在の電源プランを表示したり、

$ powercfg.exe -l

既存の電源設定 (* アクティブ)
-----------------------------------
電源設定の GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (バランス)
電源設定の GUID: 9affad6b-6e67-4f2a-b2d1-86b2f4ba8d89  (Turbo Boost無効) *

引数を-setactiveにしてGUIDを指定すると電源プランを切り替えたり。

$ powercfg.exe -setactive  381b4222-f694-41f0-9685-ff5bb260df2e
$ powercfg.exe -l

既存の電源設定 (* アクティブ)
-----------------------------------
電源設定の GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (バランス) *
電源設定の GUID: 9affad6b-6e67-4f2a-b2d1-86b2f4ba8d89  (Turbo Boost無効)

UNIXコマンドのような引数の指定の仕方です3

電源プランを切り替えるスクリプトを作る

せっかくコマンド一つで電源プランを変えられるので、これを切り替えるバッチファイルを作って、マウスでカチカチすると切り替えられるようにします。

作成するのは以下の2ファイル。引数に指定するGUIDは各々のpowercfg.exe -l実行時のGUIDを指定してください。

TurboBoost無効.bat

powercfg.exe -setactive 9affad6b-6e67-4f2a-b2d1-86b2f4ba8d89

バランス.bat

powercfg.exe -setactive 381b4222-f694-41f0-9685-ff5bb260df2e

結局私はTurbo Boostを止めてもファンの回転が変わらないので最大のプロセッサの状態を40%にしてます。。4

クロック上限40%でE-mageを実行して上限に張り付いている図。

スポンサーリンク


  1. CF-AX3です。 [return]
  2. いつのまにかregedit32ではなくなっていて、bingでregedit32の検索結果が出てきたことにびっくりしたのは内緒 [return]
  3. DOSコマンドは伝統的に/で引数を指定していましたがどういう風の吹き回しでしょうか [return]
  4. ちなみに、CF-AX3の仕様は動作クロック1.8GHz、Turbo Boost有効時は最大3GHzとなっています。 [return]

comments powered by Disqus