「なんかMacの反応悪いな……」で気づく
エージェントに検索のような時間のかかる作業を頼み、バックグラウンドで走らせたまま別のことをする。よくあることです。問題は、その検索がなぜか終わらないまま、ずっと動き続けてしまうことがある、という点です。
気づくきっかけは、たいてい地味です。「なんかMacの反応悪いな……」と感じて調べてみたら、CPU使用率が400%になっている。そんな形で発覚します。管理人も何度も経験してきました。
「たかが検索でしょう?」と思われるかもしれませんが、ここが侮れないところです。フォルダを片っ端から開いて中身を調べていくような検索は、走っている間ずっとCPUを全力で回し続けます。とんでもない量のエネルギーを食います。 パソコンは熱を持ち、他の作業まで重くなります。
昔と違って、音で気づけない
ここが今の時代の厄介なところです。ひと昔前のパソコンなら、CPUが全力で回り出すとファンがうなりを上げたので、音で異変に気づけました。
ところが最近のパソコンは、ファンの音がほとんどしません。MacBook Airのようにそもそもファンを積んでいない機種もありますし、Mac miniやiMacのようにファンがあっても、よほどのことがない限り音は気になりません。Windows機でも静音・ファンレスの機種が増えています。
つまり、静かなまま、熱だけを持ち続けるわけです。いちばん分かりやすかった警報が鳴らなくなったぶん、気づく手がかりが減っています。
サーバのように使っていたので、なおさら気づかなかった
管理人はMac miniをサーバのように使っていて、普段はあまり自分の手で触りません。この運用のせいで、問題はさらに厄介になりました。
画面も見なければ、本体に触れることもない。 だから、動作が重いことにも気づけませんし、機体が熱くなっていることにも気づけません。前の節で書いたとおり音も鳴りませんから、異変を知らせてくれるはずの手がかりが、目・耳・手のぜんぶ塞がっている状態です。
結果として、放置されたプロセスが何日もCPUを食い潰し続けていた、ということが起こりました。
「自動で確認する仕組み」すら一筋縄ではいかない
一度痛い目にあったので、暴走したプロセスを自動的に検知して止める仕組みを用意してみました。ところが、これがまた一筋縄ではいかず、仕組みを用意したはずなのに発火しない、ということが何度かありました。「対策したから大丈夫」と思い込むこと自体が、次の落とし穴になるという、なかなかしぶといあるあるです。
覚えておきたいこと
- バックグラウンドで走らせた作業は、ちゃんと終わったか時々確認する習慣を持つ
- 「パソコンの反応が重い」「機体が熱い」は、地味だけれど有力なサイン
- 自動的な安全装置を用意したら、それが本当に動いているかも別途確認する(安全装置自体が眠ってしまうことがある)
- 動いているプロセスを見る・止めるコマンドは
ps・killを参照
エージェントに任せっぱなしにできることが増えるほど、「本当に終わっているか」を確認する習慣の大切さも増してきています。自動で実行されるものが増えるということは、人が見ていないところで走り続けるものも増えるということです。