質問: 普段開発を行なっている時、いろいろなサーバーやツールを起動した状態で作業を進めたりします。具体的には、開発サーバーたち (web と api) を起動した上で、 mysqld や mysql workbench、確認のためのブラウザに、コードのためのエディタ・IDE を一つ。 その際に、なんだか時折、 mac の GUI 自体がしばらく固まって反応しなくなることがあります。マウスだけは動くものの、それ以外の GUI 要素が何一つ動かなくなり、キーボードに入力を行なっても反応がなし、デスクトップの切り替えなどの、基本的な GUI 操作もできない状態になります。 このとき、ひとまずどのプロセス・ツールが原因でこの状態を引き起こしているのか、調べたいと思いました。 ### 質問 * いくつかツールを起動している状態で mac の GUI が突如固まるなどし始めたとき、その調査を行うにあたってどのような方法がありますでしょうか? + 画面が動くようになってから Activity Monitor を確認しても、何かのプロセスが CPU 利用をスパイクさせてたことは確認できるのですが、それ以上がわからないな、と思っています。
回答: 自分もつい最近まで使用していたMacがかなり古く、同様の症状に時折悩まされておりましたが、 * `option`+`command`+`escape`と、3つのキーを押し、アプリケーションの強制終了画面を呼び出すと、重たいアプリの右側には(Not Response)と表示されているので、それを確認して、強制終了せずに戻る * マウスカーソルを動かして、マウスオーバーしたときにレインボーカーソルが表示されるプロセスがフリーズしかかっているアプリケーション * `Activity Monitor`を他のツール同様に、%CPUで降順にソート立ち上げておく * Terminal で、一つのウィンドウを`top -o cpu`等としてプロセスモニターしておく この中では、起きることが解っているなら`Activity Monitor`を最初から起動しておくのがお勧めです。 他にも有償ソフトの`iStatmenus`(自社サイト版、App Store版)をインストールし、レインボーカーソルになったら、ツールバーのCPU欄をクリックすると%CPUの高いアプリケーショントップ3が表示されます(ツールバーのクリックすら効かないほど重くなったらお手上げですが)