macOSのアクティビティモニタはApple Siliconのエネルギー使用量に関して誤りがある

macOSのアクティビティモニタはApple Siliconのエネルギー使用量に関して誤りがある

マルコム・オーウェンのプロフィール写真マルコム・オーウェン

· 2分で読めます

macOS のアクティビティ モニタは、Apple Silicon ユーザーに提供するデータがそれほど正確ではない可能性があり、このツールではパフォーマンス コアと効率コアの違いを適切に区別できないというレポートがあります。

アクティビティモニタは、ユーザーと開発者がタスク実行時にどのアプリが最も多くのリソースとエネルギーを消費しているかを把握できる手段を提供します。Apple Siliconを搭載したMacでこのツールの機能の一部をテストしたところ、コア認識における小さなミスが、結果に大きな誤差をもたらしている可能性があることが判明しました。

アクティビティモニターのCPUとエネルギーの数値を使用すると、タスクを完了する際に、効率コアのみで実行されているアプリのコードが、パフォーマンスコアよりも多くのエネルギーを消費していることがわかる場合があります。効率コアはパフォーマンスコアよりも低速ですが、消費電力は低くなるように設計されているため、この結果はかなり矛盾しています。

The Eclectic Light CompanyによるM1 Max搭載Mac Studioでのテストでは、8つのパフォーマンスコアと2つの効率化コアでスレッドを実行しました。各コアタイプに、1スレッドあたり10億ループの浮動小数点演算スレッドを8つ制限した場合、8つのパフォーマンススレッドは6.6秒でタスクを完了し、2つの効率化コアは40.4秒かかりました。

しかし、アクティビティモニターの「エネルギー」タブを確認すると、パフォーマンスコアのエネルギー値は800で、合計5,280ユニット(スレッドあたり660ユニット)が消費されていました。一方、効率コアのエネルギー値は194で、合計7,838ユニット(スレッドあたり980ユニット)が消費されていました。

これを額面通りに受け取ると、特定のスレッドを効率コアで実行すると、パフォーマンスコアよりも効率が悪くなるということになります。レポートによると、この問題はアクティビティモニターに起因しており、アクティビティモニターは固定周波数の同一コアと可変周波数の異なる2種類のコアを区別できないとのことです。

また、コア間の負荷報告方法にも問題があることが判明しました。あるテストでは、2つの効率コアで2倍のコード量を実行すると、アクティビティモニターでは半分のコード量と同じ電力消費量と報告されました。

macOS が効率コアの周波数を制御する方法が原因で、異なる M1 チップ間で結果が一貫していないことも考えられており、たとえば M1 は M1 Pro とは異なる方法でレポートを処理します。

「AppleがM1チップのアクティビティモニタで返される数値を更新するまでは、コアの種類と周波数による混同は役に立たないだけでなく、CPU使用率や消費電力の比較において誤解を招く恐れがある」と報告書は付け加えている。開発者は、代わりにPowermetricsなどのツールを検討すべきだ。これらのツールは、アクティブな常駐状態に加え、クラスタ周波数や電力消費に関する情報も提供する。

Appleがアクティビティモニタをアップデートする意向があるかどうかは不明です。Apple Siliconが登場して以来、目立った改善は見られません。