当ブログでもお伝えしたとおり、先週リリースされた2018年モデルのMacBook Proの最高スペックモデル、Core i9チップを搭載したモデルでは、いくつかの負荷がかかるタイプのベンチマークテストにおいて、2017年のCore i7モデルよりもスコアが低い結果が出てしまい、その原因がAppleがサーマルスロットリング(温度による速度制限)をかけているからということが複数のメディアによる実験でわかっています。
せっかく高いお金を出したのに、i9チップのターボブーストモードどころか、本来の基本クロックをも下回るパフォーマンスになってしまって本領を発揮できないようでは本末転倒です。
Redditでサーマルスロットリング問題の原因特定と改善方法を見つけたエンジニアが現る
そんな中、Redditでこのサーマルスロットリングの原因を特定し、更に改善する方法を見つけたエンジニア(強者!)がいました。最後にその方法もついでに紹介しておきます(英語ですが、実際に設定するのはほんのちょっと。そしてコマンドラインでの実行が必要です)。
Apple、macOS High Sierra 10.13.6ソフトウェアアップデートをリリース。サーマルスロットリングの設定ミスを修正
そしてAppleが本日未明、突然macOS High Sierra 10.13.6追加アップデートをリリースしました。これは2018年のTouchBar付きモデルで、第8世代Core i7とi9のクアッドコアと6コア搭載モデル用ということで、サーマルスロットリング問題に関するバグ(ミス)を修正するためのものということです。Appleの説明によれば、このサーマルスロットリング問題はファームウェアのクロックダウンに関する設定(デジタルキー)のミスだったということで、これらのモデルを購入したユーザに謝罪をしています。
というわけで、MacBook Pro TouchBar搭載2018年モデルを購入した方は、すぐにmacOS High Sierra 10.13.6ソフトウェアアップデートを適用することをお勧めします。
Apple、ミスが多いなあ。。
速度制限といえば、AppleはiPhone 7シリーズを含む旧機種についても、バッテリーの劣化による速度制限をiOS 11からユーザへの断りを殆ど入れずに導入し、顰蹙を買いました(その後、バッテリー交換プログラムの値下げや、設定にバッテリー管理メニューを導入して火消しにつとめました)。
今回の問題も、MacBook Proの動作実験の段階で気付かなかったのか、なぜそのような極端に速度制限をする設定にしたのか、、とても疑問に思います。もし故意ではなくミスだとしたら非常に初歩的なミスで、故意であったとしたらすぐにバレるようなレベルの低い行為だったのではないかと思います。2018年MacBook Proものっけからかなりお粗末なところをさらけ出してしまったApple、という感じになってしまいました。もう、もっとちゃんとしてよね、Apple。。
iPhoneのバッテリー問題とあわせて、ソフトウェア部門トップのクレイグ・フェデリギ上級副社長(SVP)に何らかのペナルティがあってもいいくらいの問題ではないかと思います。。
Redditで紹介されたサーマルスロットリング問題を改善する方法
なお、Redditで紹介されていた改善方法もありますので、英語ですが引用しておきます。macOSの追加アップデートを適用したくない方はこの方法を試してみるのもいいかもです。どちらが効果があるのか、2018年版MacBook Proを持っている方にぜひ比べてもらいたいところですが、、ところで以下のRedditに投稿された方法は完全に自己責任ですので、そこのところはよろしくお願いいたします。
Warning: To do this, you will have to put your system in a “custom” SIP (System Integrity Protection) state to allow unsigned KEXT (Kernel Extensions), this reduces security on your system somewhat, but this is at least not completely disabling SIP.
Warning2: If you do this, and it damages your laptop, and Apple does not cover your warranty, that is your own problem. You are doing this at your own risk. With that said, In my personal opinion, the default state is actually more damaging to the laptop than this custom state (As you will see below).
CHANGE DIRECTORY to where voltageshift was installed (you can’t just run it with a full path in the command line, there is a bug in it which makes it require you actually being in the directory and writing ./voltageshift … not ~/voltageshift/voltageshift)
sudo chown -R root:wheel VoltageShift.kext
./voltageshift read 0x610
RDMSR 610 returns value 0x4283e800dd8320
I’ll translate what the important bits here means: MSR 610 is the MSR_TURBO_POWER_LIMIT
Hex 3e8 == 1000
1000 / 8 == 125
This means that PL2 (Power_Limit_2) is set to 125 Watts. Power Limit 2 is the “Turbo Boost” limit.
Hex 320 == 800
800/8 = 100
This means that PL1 (Power_Limit_1) is set to 100 Watts. Power Limit 1 is the “Steady State” limit, ie: how much power the CPU is configured to try and pull for extended periods of time.
The math for the timing variable is complicated, so just take my word for it, but: Power_Limit_1_Time …
dd = 28 Seconds.
So, Apple has shipped the i9 Macbook Pro with it’s CPU power regulation set to to 125 Watt Turbo for 28 seconds, 100 Watt Steady state.
I’ve spent a few hours testing at many different draw rates until I could find the rate at which the VRM does not max out, for my machine, that is 49 Watts. Note that this does not include power draw for other accessories (ie: the GPU), so if you are drawing heavy power using other chips, you might need to set the limit lower than 49 watts.
I’ve also spent a few hours testing the maximum amount of time you can draw in Turbo from the VRM without maxing it out, and for my machine, it is 8 seconds.
So, putting this all together …
49 * 8 = 392
392 in hex is 188
Like I said earlier, the time values are complicated, so just take my word for it, but …
D9 = 7 seconds.
1B = 8 seconds.
9B = 10 seconds.
[…]
DD = 28 seconds. (default)
Compiling this all together leads to the CORRECT MSR for this machine: 0x4283E8001B8188
5) And you can set this using this command: ./voltageshift write 0x610 0x4283E8001B8188
(2018/07/25 追記)パッチを当ててもやはり最高速度は出ない
最初のテスト動画と同じ、Dave Lee氏がmacOS 10.13.6追加アップデートパッチを当てて2018年MacBook Pro i9チップモデルのパフォーマンスを測定してみましたが、改善は見られますがやはり最高パフォーマンスには至らないという結果になりました。。冷凍庫の中とか、寒冷地でないと最高パフォーマンスで使えないのであれば、まさに宝の持ち腐れってことになりそうですね。。
Dave Lee氏には、上のRedditによるチューニングとも比べてみてもらいたいところです。
記事は以上です。