日々適当

hibitekitou

カーネルタスク

mac |2022-09-26

ちょっとスクリプト作ってまして、そのスクリプトをマルチプロセスな動作をするようにしたらパフォーマンスは上がったみたいなのだけど、時々、大きく処理速度が下がっているタイミングがあることがわかりました。調べてみると、そのとき kernel_taskが数百パーセントのCPU使用率になっておりました。

Appleのサポートサイトにはこうあります。

kernel_task は、その機能の 1 つとして、CPU を集中的に使うプロセスの CPU 使用率を下げるというやり方で、温度管理を助けています。つまり、kernel_task は、Mac 本体の温度が高く感じられない場合でも、CPU の温度が上がり過ぎる原因となる状況に対処するプロセスです。それ自体がその状況を引き起こしているわけではありません。CPU の温度が下がれば、kernel_task の活動は自動的に治まります。

kernel_task の Mac CPU の使用率が高い場合 [Apple サポート]
そこまで温度が高い感じはしていないのだけど、このままだと温度が上がりすぎるから動作を邪魔してやるぜ、って状態になってたみたいです。while True な処理で、ガンガンループしているから、こいつはやばいとOSは判断したのかなぁ?(確認してみたところ毎秒数万回のループ処理をしてました)
これの対処をしないといけないのは面倒だけど、ともあれ、興味深い現象でした。
MacBook Pro 2018でやっててそんな感じだったのだけど、同じ処理をApple SIlicon Macでやったらどうなるかなー?

コメント ( 0 )|Trackback ( )
  ・