MacintoshのCPUには電力管理(パワーマネージメント)の機構が搭載されていて、CPUの負荷が下がるとクロック周波数を下げて、消費電力を削減します。Intel Power Gadgetでその様子を確認できます。大抵のマシンでは、特段の設定をしなくても、クロック周波数が変動して電力管理が実施されます。
Intelが、CPUと内蔵GPUの消費電力、動作クロック、温度が測定できるアプリケーション、Intel Pow… Intel Power Gadget - Boot macOS |
以下は、初代Intel NUCのDC3217IYEでの例です。CPUはIvyBridgeのCore i3モデル、3217Uです。真ん中のグラフがクロック周波数です。電力管理がされていないために、クロック周波数が定格近くの1.7GHzに張り付いて一定になっています。車に例えたらアクセル踏みっぱなしのフルスロットルで運転しているような状態です。
デスクトップ向けのCPUで自作すると、特別な処置をしなくても大抵は正しく電力管理されていて、クロック周波数のグラフは負荷に応じて変動することが多いです。実機ではこのCPUシリーズのi5モデルである3317UがMacBookAir5,1で採用されてますが、i3 3217Uを採用した機種はありません。その関係でCPU情報がOSに登録されてなく、電力管理が効いていないと思われます。
そんな時はPikeさんが作ってくれたスクリプトを動かしてSSDT.amlファイルを作ると改善することがあります。
Script to generate a SSDT for Power Management. Contribute to Piker-Alpha/ssdtPRGen.sh development by creating an account on GitHub. GitHub - Piker-Alpha/ssdtPRGen.sh: Script to generate a SSDT for Power Manage... - GitHub |
まずは、ここからssdtPRGen.shというスクリプトをダウンロードします。そしてこれをターミナルで実行します。すると、~/Library/ssdtPRGen/にSSDT.amlができています。 これをEFI/CLOVER/ACPI/patched に入れて再起動します。
DSDTについてはこちらで説明しましたが、
DSDT (Differentiated System Description Table) はマザーボードが… DSDTを編集する - Boot macOS |
SSDTはDSDTの補足ファイル、サブセットのような位置付けです。DSDTの一部を補足したり、書き換えたりする内容のようです。Pikeさんのスクリプトは、使用しているCPUに合わせて、電力管理に関する記述を作ってくれます。
この結果、Power Gadgetの様子は、以下のようになりました。
真ん中のグラフが示すように、CPUのクロック周波数が、負荷により変化して、省電力を実現しています。電力消費のグラフは一番上です。3.9WだったCPU消費電力が2.8Wに下がっています。クロック周波数が減少しているので、その分、省電力が達成できています。一番下のグラフに表示されている温度も、7度近く下がりました。