アイドル状態解除
別名: ウェイクアップ
結論
“アイドル状態解除”は、プロセスがCPUをアイドル状態から起こした回数です。頻繁に起こされるとプロセッサが休めず、“% CPU”が低く見えてもバッテリーの持ちが悪くなることがあります。
CPUは、長い時間アイドル状態でいられるときに最もエネルギーを節約できます。プロセスがタイマーを設定したり何かを確認したりするたびに、CPUは起きて対応しなければなりません。1回ならわずかでも、何千回にもなれば積み重なります。
“アイドル状態解除”の列は、アクティビティモニタの“CPU”タブに表示できます。実際の仕事はほとんどしていないのに、絶えずポーリングしているバックグラウンドのアプリを見つけるのに特に役立ちます。
アクティビティモニタでアイドル状態解除を確認する方法
“CPU”タブをクリックし、“表示 > 表示項目”を選んで、“アイドル状態解除”にチェックが入っていることを確認します。列見出しをクリックすると、その列で並べ替えられます。
ウェイクアップが多くなる原因
よくある原因は、短い間隔で更新をポーリングするアプリ、見えていないウインドウで動き続けるアニメーション、接続を維持し続ける同期アプリやチャットアプリです。タブをたくさん開いたブラウザも、多くのウェイクアップを発生させることがあります。
macOSは、App Napなどの機能で、隠れているアプリのウェイクアップを減らしています。App Napは、使っていないアプリのタイマーを遅くします。
% CPUが低くてもウェイクアップがバッテリーを消費する理由
すべてのコアがアイドル状態のとき、チップはコアだけでなく、プロセッサの共有部分の電源も落とせます。Appleのpowermetricsのマニュアルによれば、この深いアイドル状態を終わらせるタイマーや割り込みは、すでにCPUが起きているときに同じ仕事をするよりも多くのエネルギーを使います。
そのため、アプリがCPU時間をほとんど使っていなくても、Macを休ませないことがあります。ウェイクアップ1回は短いので“% CPU”にはほとんど現れませんが、チップが最も低い電力状態に長くとどまれなくなります。
macOSは、ほぼ同じ時刻に期限が来るタイマーをまとめ、CPUが1回起きるだけで複数のタイマーを処理できるようにして、これを減らしています。Appleはこれを“タイマーの結合(timer coalescing)”と呼んでいます。App Napは、隠れているアプリのタイマーの発火回数を減らし、さらに踏み込んでいます。
Macを最も多く起こしているアプリを見つける方法
- 一覧にバックグラウンドでの動作が表示されるよう、実際に使っているアプリは終了するか隠します。
- アクティビティモニタで“CPU”タブをクリックし、“アイドル状態解除”で並べ替えます。
- 1分ほど様子を見ます。使っていないのに上位にとどまるアプリを書き留めます。
- “エネルギー”タブをクリックし、同じアプリが“エネルギー影響”でも上位にあるか確認します。
- ターミナルで見るなら、
top -o idlew -stats pid,command,cpu,idlewを実行します。IDLEWの列は累計なので、どの値が最も速く増えるかを見ます。終了するにはqを押します。 - より詳しいサンプルを取るには、
sudo powermetrics --samplers tasks --order wakeups -n 1を実行します。タイマーと割り込みによるウェイクアップがプロセスごとに一覧表示され、チップをアイドル状態から引き戻すウェイクアップの多い順に並びます。
アイドル状態解除の普通の値と気にすべき値
回数はアプリや実行時間によって変わるので、常に多すぎると言える数値はありません。大事なのはパターンです。
- 普通: kernel_taskやWindowServerなどのシステムプロセスが上位にある。ハードウェアのイベントや描画を処理するので、もともと頻繁にCPUを起こします。
- 普通: 使っている間に、オーディオを再生している、通話中である、ライブ接続を開いたままにしているアプリ。
- 確認する価値あり: 隠れていて使っていないのに、速く増え続けるアプリ。特に“App Nap”の列が“いいえ”の場合。
- 確認する価値あり: 秒まで表示する時計やリアルタイムの統計など、頻繁に更新する小さなメニューバーユーティリティ。多くは設定で更新間隔を長くできます。
ウェイクアップが多すぎるアプリへの対処法
アプリの設定で更新や同期の間隔を探し、長くします。不要なライブプレビューやアニメーションはオフにします。アプリをアップデートし、それでも問題が続くなら開発者に伝えましょう。Appleは開発者にタイマーを最小限にするよう求めているので、アイドル状態のアプリが絶えずウェイクアップを起こすのは、報告する価値のあるバグです。
よくある質問
アクティビティモニタの“アイドル状態解除”とは?
プロセスがCPUをアイドル状態から起こした回数です。この回数が多いアプリは、“% CPU”が低くてもバッテリーを消費することがあります。
アイドル状態解除の数値が高いのは悪いこと?
必ずしもそうではありません。オーディオを再生するアプリやネットワーク接続を開いたままにするアプリは、頻繁に起きる必要があります。問題になりやすいのは、使っていないのに上位に来るアプリです。
アイドル状態解除を減らすには?
使っていないアプリを終了し、不要なブラウザのタブを閉じ、アプリを最新の状態に保ちましょう。アプリを隠したりしまったりすると、App Napが動作を遅くすることもできます。
kernel_taskのアイドル状態解除が多いのはなぜ?
kernel_taskはmacOSのカーネルで、キーボード、トラックパッド、ネットワーク、ストレージなどのハードウェアからの割り込みを処理します。回数が多いのは想定どおりで、直すべきものではありません。
Macを電源につないでいるときも、アイドル状態解除は重要?
重要度はずっと下がります。ウェイクアップが主に影響するのはバッテリー駆動時間です。電源につないでいるときは、エネルギー消費と熱が少し増えるだけで、Macが遅くなる原因になることはまれです。
アイドル状態解除はどれくらいなら問題ない?
決まった良い値はありません。アプリ同士を比べて、使っていないのに速く増え続けるアプリを探しましょう。
関連項目
詳しい手順: Macのバッテリーを消耗させているもの。
アクティビティモニタより優れたものをお探しなら、Mac向けアクティビティモニタの代替アプリのおすすめをご覧ください。用語集のすべての用語も見られます。