なんか作りたい

PCとかオーディオとか

WindowsServer2016の電源管理がおかしい (クロックが上がらない)

少し前後しますが、AMDの例のCPUを購入したのをきっかけに家のPCの構成をがらっと変えました。
メイン機 : i7 4770K -> Ryzen 1800X
鯖機 : Pentium G3258 -> i7 4770K

メイン機も鯖機もコア数が2倍になって性能が格段に上がり満足して……と思ったらCPU使用率がなにかおかしい。
タスクマネージャーを開くとタスク実行中にも関わらずクロックが低いまま。

f:id:s_sef:20170407230853p:plain

ちなみにこれはトランスコード中のCPU使用状況。
クロックが上がらないために途切れ途切れになってしまって視聴どころではない。
最適化が不十分なRyzenでこの問題が起こるのは分かるが、今まで問題がなかったIntel様のi7でなぜ?

Windowsの電源設定の拡張

どうもWindowsServerの電源管理がシビアらしく、パフォーマンスに影響しているらしい。
2スレッドのG3258では気にならなかったが8スレッドになったことでCPU使用率が上がりにくくなり問題が顕在化したようだ。
電源管理が悪いわけだが、最低のクロック状態を上げると消費電力も上がってしまう。
これは常時起動の鯖機にはよろしくない。

調べてみるとWindowsにはより詳細な電源設定があることが判明。
この記事によるとレジストリを弄ることで隠された電源設定が表示できるとのこと。
wwman.hatenablog.com

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00
内の各種設定のAttributes値を2に変更

f:id:s_sef:20170407231041p:plain

これらをいくつか弄ってやるとクロックが上がるようになった。

  • プロセッサ パフォーマンスの向上のしきい値 : 20%
  • プロセッサ パフォーマンスの低下のしきい値 : 60%
  • プロセッサ アイドル降格しきい値 : 20%
  • プロセッサ アイドル昇格しきい値 : 40%

ちなみに「プロセッサ パフォーマンスの向上モード」からターボブーストを有効化できる。
安定性がどうなるかまだ不明だがクロックが上がらないという問題は解決できた。
ちなみにRyzenの方はAMDから専用の電源プロファイルが公開されたのでこれを使っていこうと思う。