さて、第三部に突入してしまったNUC13 ANHi3のクーリング設定ですが、前々回は「静音低温なるべく性能キープ」の探求、前回は「ハイパフォーマンスなるべく静音低温」の探求をしてみました。今回は高負荷続きでもギリギリ青信号(70℃台)に留まる「バランス静音低温」設定を探求してみます。
クーリング設定に関しては、前回までにある意味答えが見えてきていて、日常作業域が収まるCPU温度までは気にならない最高回転数をMinimum Duty Cycleに与えるということになります。前回記事ではMinimum Duty Cycle: 39%を64℃まで引っ張るようにしました。自分は回転数の急増減による変調音が嫌いなため、Ramp Down Rateを25%にして緩やかな減衰にしました。静音低温は日常作業域を基本にしますので、クーリングはここまでの設定を踏襲とします。
次に電力設定についてですが、これも前回までにある程度見えていて、80℃を超えたくないなら最初のバーストモード時間を縮める、あるいはワットを抑える、またはその両方でピーク温度を下げることは可能です。ただ、前回のCINEBENCHを用いたテスト挙動において、温度、クロック、ファン回転数などのバタつきが気になっているので、まだ何か出来ることを考えます。
前回の設定は以下でした。
PL1: 20W, PL2: 28W, Tau: 28秒
今回はPL2を推奨値の1.3倍より低い1.25倍、Tauは前回推定から8秒以上22秒以下の16秒としました。
PL1: 20W, PL2: 25W, Tau: 16秒
更に「Power」を「Max Performance Enabled」に変更します。
ここは全く説明が表示されないので自分も理解が薄いのですが、音切れや映像がカクつく場合にここを「Max Performance Enabled」にしたらいいよ的な記事を過去に見た記憶があり、CPU省電力の度合いをプリセットしたものではないかと推測します。
だとすれば「Max Performance Enabled」でなるべく省電力ステートに移行しないようにできたりしませんかね。というのも、Windows OSがやっている遅くて下手な省電力スイッチングを極力ハードウェアに譲ることで、負荷時のバタつきが改善されないだろうかというのが変更動機です。
次はWindowsOS側のCPU電源管理を変更していきます。無用なソフトウェア制御を取り払っていこうと思います。この後の記述は Windows11 23H2基準になります。Windows10や10からアップグレードした11の場合は異なっている可能性があります。
まず、電源オプション「プロセッサの電源管理」で隠れている各項目を表示させるためにレジストリを変更します。レジストリエディタで以下のレジストリキーへ移動します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00
さらにその配下のサブキーにある「Attributes」の値を1から2へ変更します。自分がプロセッサ電源管理で表示させたのは以下のサブキーです(結果として変更しなかったものを含む)。
- 0cc5b647-c1df-4637-891a-dec35c318583
- 3b04d4fd-1cc7-4f23-ab1c-d1337819c4bb
- 447235c7-6a8d-4cc0-8e24-9eaf70b96e2b
- 5d76a2ca-e8c0-402f-a133-2158492d58ad
- 893dee8e-2bef-41e0-89c6-b55d0929964c
- bc5038f7-23e0-4960-96da-33abaf5935ec
- be337238-0d82-4146-a960-4f3749d470c7
- ea062031-0e34-4ff1-9b6d-eb1059334028
設定値とその概要は以下のとおりです。
プロセッサ パフォーマンス コア保留の最小コア数
コア保留というのはタスクマネージャのCPUパフォーマンスで「なんだコレ」といつも思っているこの状態のことです。
コア保留とは、使用するコアを集中し、他のコアのスケジューリング優先度を落とすことによって省電力化を図ろうとするものです。保留されているコアでも必要な場合はすぐに活動を始めますが、このスイッチングをOSソフトウェアが行なうことで遅延し、先頭で活動中のP-Core #0が電力を食べて高熱化する、という仮説を解消する試みです。
「パッケージのコア数÷コア保留解除を許容するコア数」なので100%を設定するとコア保留が無効になります。
スロットルの状態を使用する
これはかなり意味不明なんですが、PステートとCステートの管理をOSではなくCPUに丸投げします、と理解しました。遅いソフトウェア制御よりも近代CPUによる制御の方が速いため、そちらで制御を行いますという場合は「オン」にします。「オン」にするとBIOSで設定した「Max Performance Enabled」が適用されると(勝手に)思ってます。微々たる性能向上目的ではなく、これもソフトウェアによるスイッチング遅延を解消したい目的です。
プロセッサ パフォーマンス コア保留の保留時のパフォーマンス状態
コア保留を無効にしたので変更なし(デフォルトのまま)
プロセッサ アイドル無効
アイドルしても良いので変更なし(デフォルトのまま)
最小のプロセッサの状態
デフォルトのまま(5%)
最大のプロセッサの状態
前々回ここを99%にしてE-Coreが1.2GHz固定になったのでデフォルト(100%)に設定
プロセッサ パフォーマンスの向上モード
デフォルトは「アグレッシブ」ですが、アグレッシブはコアのピーク温度が高かったので、それぞれを簡単に試してみた結果、最もバランスが良かった(と思えた)「効率的なアグレッシブ」にしました。
プロセッサ パフォーマンス コア保留の最大コア数
コア保留が解除されているコアの許容最大数です。最小コア数と共に100%の場合はコア保留が無効になりますのでデフォルト(100%)のまま。
では、この設定でCINEBENCH 2024を実行します。
はい、実行しました、結果です。
前回のスコアは298ptsでしたので今回は1pts減りました。これは誤差の範囲と言って良いかは分かりませんが、ほぼ同等と考えておきます。次にコア温度と電力の推移を見てみます。
P-Core#0とP-Core#1の平均温度は前回から1℃弱下がり、瞬間最高温度は77℃と目標は達成できました。
次にCINEBENCH開始から30秒のバースト電力推移を見てみます。
ここでおかしなことに気が付きます。Tau: 16秒なのに23秒間もバーストモードが続いているように見えます。「なんだこれ」と思いつつもHWiNFOのログを眺めていると、ある項目に気が付きました。「 コア消費電力制限を超えました (avg) 」という項目です。この項目はPL1電力制限をされているか否か、測定間隔毎にYes/Noで出力します。これで分かりました。
CINEBENCHの測定ボタンを押した後、7秒と11秒にPL1電力制限が解除された記録がありました。PL1電力制限が解除されれば、再度PL2バーストモードを使う権利が発生します。開始30秒の間に3回のバーストモードがあり、3回目は16秒バーストした後ベンチマーク終了までPL1電力制限が続いていました。「なるほど~」と思いました。
そして、CPUファンの回転数推移です。
ある意味このグラフが一番衝撃的でした。「こうだよな、こうあるべきだよな、だが何故だ?」という謎の衝撃です。基板CPUセンサー温度と並べたものがこちらです。
ちなみに前回ガッタガタだったCPUファン推移はこちらです。
ガッタガタと言いつつも、実は前回テスト結果の方が設定に忠実なCPU回転数推移なのです。しかし同じクーリング設定で今回のは美しすぎますよね。では、おかしいのは今回の方でしょうか。
前回は76℃と73℃の間で見た目派手にファンが動いていますが、今回は2,800rpmに留まりあまり上下動していません。まるで「負荷が続いているからいちいち下げるのやめといたわ」と言っているようです。自分が見たものに意味を与えたいだけなのですが、これって「Max Performance Enabled」の効力と思いたくなります。
最後に今回のパラメーターをまとめます。
- BIOS "Power"
- Max Performance Enabled: checked
- BIOS "Cooling"
- Package Power Limit 1:20W
- Package Power Limit 2:25W
- Package Power Time Window:16s
- Fan off Capability:Disabled
- Primary Temperature Sensor:CPU
- Secondary Temperature Sensor:CPU Voltage Regulator
- Maximum Temperature:90
- Minimum Temperature:64
- Fan Cut-off Temperature Offset:20 (ignore)
- Minimum Duty Cycle:39
- Duty Cycle Increment:2
- Sample Period:1
- Ramp Down Rate:25%
- OS "Power Management"
- プロセッサ パフォーマンス コア保留の最小コア数: 100%
- スロットルの状態を使用する: オン
- プロセッサ パフォーマンスの向上モード: 効率的なアグレッシブ
夏になったらまたいじる可能性がゼロではありませんが、一旦はこれで満足できる結果が得られましたので、これでNUC13 ANHi3のクーリング設定については完了とします。
i3-1315Uはオンボード専用でリテールがありません。つまりこのCPUに出会うにはそれが実装された商品としてのPCを買うしかありません。NUCはその一つですが大抵はノートPCです。PL2を含めベンダー調整値でロックされているものも多く、BIOSもあまり自由に設定できませんし、クーリングシステムの変更もできません。それでも何か出来ることはあるだろうと始めたことで、そこそこの結果を得られたので良かったと思います。
ただ、BIOS/UEFIの知識が無く、このNUC13ANHi3をオシャレなミニPCとして購入した人は、うるさいわ、熱いわで結構大変でしょうね・・
※この記事はBIOSやレジストリの操作を推奨するものではありません。古くからBIOSやレジストリの編集・変更にはリスクが伴うことは知られています。また、クーリング設定をプリセットから変更した時点でクーリングの責任はユーザーに移ります。それが原因でNUCが故障した場合はIntelのWarrantyが効かなくなる場合があることをご承知ください。
ご自身のPCをご自身の責任でいじられることは何の問題もありませんが、結果については常に自己責任であることを認識して頂ければと思います。この記事によって被ったあらゆる損害についてブログ主は免責とさせて頂きます。