簡単な答え
Macのkernel_taskはmacOSの中核で、アクティビティモニタではプロセスとして表示されます。Macが熱くなると、意図的にCPU時間を確保して負荷の高いアプリに回る分を減らし、チップを冷まします。終了することはできません。代わりに熱の原因を探してください。「CPU」タブと「エネルギー」タブを並べ替え、pmset -g thermを実行して、最も負荷の高いアプリを終了します。
このページの内容
kernel_taskとは
kernel_taskは、アクティビティモニタでmacOSのカーネルを表します。ハードウェア、メモリ、ほかのすべてのプロセスのスケジューリングを担う、システムの中核部分です。「CPU」タブでは1行で表示され、プロセスIDは0、「ユーザ」列はrootです。CPUの値には、ディスク、ネットワーク、ディスプレイの負荷が高い処理など、カーネルがMac全体のために行う仕事が含まれるので、0になることはめったにありません。
その仕事の1つが温度の管理です。Appleの説明によると、CPUが熱くなりすぎると、kernel_taskはCPUを集中的に使っているプロセスがCPUを使いにくくします。表示されるCPU時間は、チップを冷ますためにそれらのアプリから取り上げた時間で、温度が下がるとまた減ります。用語集のthermal state(英語)も参照してください。
kernel_taskを終了しても大丈夫?
いいえ、できません。kernel_taskはmacOSそのものなので終了できず、試しても得るものはありません。CPU使用率を制限するツールは、kernel_taskが行っている冷却を妨げます。kernel_taskの負荷が高いのは兆候と考えて、原因を探してください。
手順1:熱が原因か確認する
アクティビティモニタを開いてCPUをクリックし、% CPUで並べ替えます。kernel_taskが上位にあり、Macが温かい、またはファンの音が大きい場合は、熱が原因である可能性が高いです。macOSがそれを記録しているかどうかは、ターミナルで確認できます。
pmset -g thermNote: No thermal warning level has been recorded
Note: No performance warning level has been recorded代わりに熱またはパフォーマンスの警告レベルが表示される場合、macOSはMacを冷やすためにパフォーマンスを制限しています。現在の状態を知るには、powermetricsで現在の熱負荷のレベルを確認できます。Macが冷えているときは「Nominal」と表示されます。このコマンドには管理者パスワードが必要です。
sudo powermetrics --samplers thermal -n 1kernel_taskの負荷が高いのに警告が記録されておらず、Macも温かくない場合、カーネルは大きなコピー、高速なダウンロード、外部ディスプレイなど、別の何かのために働いています。次の手順は同じで、その背後にあるアプリを見つけます。
手順2:熱の原因を見つける
熱を出しているのはkernel_taskではなく、ほかのプロセスです。CPUタブを% CPUで、次にエネルギータブをエネルギー影響で並べ替え、数秒ではなく数分にわたって負荷が高いものを探します。どのアプリがMacを熱くしているかを知るには、エネルギー影響(説明は英語)が最もよい手がかりです。
top -l 2 -o cpu -n 10 -stats pid,command,cpu | tail -11Appleシリコン搭載Macでよくある原因は次のとおりです。
- 長時間の重い処理。 ビデオの書き出し、ゲームや3D、大きなビルドやテストの実行、機械学習、仮想マシン。
- 暴走しているプロセス。 ブラウザのタブ、ループから抜け出せないアプリ、macOSアップデート後のSpotlightのインデックス作成(いずれも英語)。
- 熱の逃げ場がない。 ベッド、ソファ、ひざの上に置いたMacBook、暑い部屋、直射日光。MacBook Airにはファンがないので、長時間の重い負荷ではMacBook Proより早く速度が落ちます。
- 追加の負荷。 外部ディスプレイと充電は少し熱を出し、各ディスプレイの描画の負荷はWindowServerに表れます。それだけが原因になることはまれですが、重い処理と重なると影響します。
Appleシリコン搭載MacとIntel搭載Mac
原因と対処法はどちらも同じです。チップが熱くなると、kernel_taskは負荷の高いアプリからCPU時間を取り上げます。異なるのは、ネット上で見つかる古いアドバイスです。「右側のポートだけで充電する」「SMCをリセットする」といった情報は、Intel搭載のMacBook向けに書かれたものです。AppleがSMCのリセットを案内しているのはIntel搭載Macだけです。Appleシリコン搭載Macには当てはまらず、負荷の高いアプリを見つけることが解決につながります。
手順3:対処法
- エネルギー影響が最も大きいアプリを終了するか一時停止します。書き出しのように終わりのある処理は、完了するまで待ちます。
- Macの風通しをよくします。硬く平らな場所に置き、通気口をふさがず、直射日光を避けます。
- ビデオを再生しているブラウザのタブや、常にアニメーションしているタブを閉じます。
- 軽い作業でも毎日Macが熱くなる場合は、再起動してから、アクティビティモニタで常に負荷が高いものがないか確認します。
温度が下がれば、kernel_taskの値は自然に戻ります。リセットするものはありません。
対処できたか確認するには、負荷の高いアプリを終了した後、アクティビティモニタの「CPU」タブを数分間開いたままにします。Macが冷えるにつれてkernel_taskの% CPUは下がり、pmset -g thermは警告を表示しなくなるはずです。Macが冷えていて負荷の高いものがないのに値が高いままの場合は、一度再起動してもう一度確認してください。
kernel_taskがメモリを多く使う理由
kernel_taskのメモリの値は数GBになることがあります。これには、カーネルとドライバがシステム全体のために確保しているメモリが含まれ、圧縮もスワップもできない確保されているメモリ(説明は英語)もその一部です。大きくて安定した値は正常です。動作の遅さに関係するのは、kernel_taskの数値ではなくメモリプレッシャーです。カーネルの分とアプリの分の違いは、アプリメモリとは何か(英語)で説明しています。
もっと早い方法:iKnowMyMacの「これは何?」
iKnowMyMacは、これをアプリの中で説明します。プロセスの各行に「これは何?」があり、そのプロセスが何か、終了しても安全か、今なぜ負荷が高いのか、何をすればよいかを示します。kernel_taskの場合は、Macの熱の状態と接続されているディスプレイの数を読み取り、どれが当てはまるかを示します。