87
バグと修正: OS X Lion の動作が遅くなる場合

今日のコラムは、私が不定期でお届けする「探偵物語」シリーズの新たなエピソードです。このコラムでは、一見原因がわからない謎のバグを、私がどのようにして追跡し、特定し、そして最終的に駆除したかをご紹介します。

今日の謎は、実は数週間前にMac ProをSnow LeopardからLion(OS X 10.7.2)にアップデートした時に始まりました。以前、家にある他の2台のMacを問題なくアップグレードしていたので、同じようにスムーズに進むだろうと期待していました。そして、当初の期待は的中しました。Lionは正常にインストールされ、すべてが完璧に機能していました。

トラブルが発生するまで数時間かかりました。Macの動作が遅くなり始めたのです。本当に遅くなったんです。最初はほんの少しの遅延程度でした。しかし、その後すぐに、メニューをクリックしてドロップダウンしても、数分間、あるいは全く表示されないほど、あらゆる動作が遅くなりました。アプリケーションの起動や終了といった操作は全く不可能でした。マウスポインターは通常の速度で動かすことができました。ただ、何も操作できなくなっていました。

いつものようにまずMacを再起動して問題を解決しようと試みました。この時点ではマウスクリックもキーボード操作も全く効かなかったので、マシン前面の電源ボタンを使わざるを得ませんでした。幸いにも全て正常に戻りましたが、それも束の間でした。数時間後、またしても「極度のスローダウン」が頭をもたげてきました。

シャーロック・ホームズの帽子とパイプを身に着けて、私は悪者を暴くために出発した。

Macをもう一度再起動しました。今度は、Macがまるで固まりかけのタフィーの桶に閉じ込められたかのように反応し始める前に、アクティビティモニタ(OS Xのユーティリティフォルダにあるアプリケーション)を起動しました。アクティビティを監視しました。最初は何もありませんでした。しかし、あることが起こりました。WindowServerプロセスが「% CPU」列の一番上まで上がり始めました。25%、40%、62%、78%と。75%くらいまで来たところで、速度低下が本格的に始まりました。99%に達した頃には(そしてそこで止まり)、すべてが停止してしまいました。

アクティビティモニタでは、WindowServerプロセスの実行速度が3.0%と安定しています。75.0%以上に急上昇すると、Macの動作が極端に遅くなります。

WindowServerとは何でしょうか?簡単に言うと、ウィンドウを管理するプロセスです。グラフィカルユーザーインターフェースを構成するウィンドウやボックスの描画を担う中核プロセスです。Appleは次のように述べています。「ウィンドウサーバーはウィンドウの管理だけにとどまりません。ユーザーインターフェースを持たないアプリケーション(バックグラウンドのみで動作するアプリケーションなど)でさえ、ウィンドウサーバーに依存しています。」

言い換えれば、それは重要なのです。そして、まさにこのプロセスが行き詰まれば、私が目にしていたような症状を引き起こすことになるのです。

第一容疑者は見つかった。しかし、肝心の疑問は未解決のままだった。なぜWindowServerが遅くなるのか? Snow Leopardでは一度もそんなことはなかった。それに、Lionをインストールした他のMacでは問題も起きていなかった。では、Lion搭載の私のMac Proだけが特別なのはなぜだろう?

何か別のソフトウェアが関係しているのではないかと考えました。おそらく、ログイン項目リストにあるもので、他のMacにはないものです。これらの項目は起動時に自動的に起動するため、ユーザーが「手動で」操作しなくても問題を引き起こす可能性があります。では、どの項目でしょうか?

何かアドバイスになるような情報がないか、オンラインで検索してみました。すると、WindowServerの速度低下に関するフォーラムのスレッドがいくつか見つかり、私の症状と似たようなことが書かれていました。しかし、どのスレッドも結論に至らなかったり、私の症状とは関係のない原因を指摘したりと、行き詰まってしまいました。

Macに戻った。「ユーティリティ」フォルダにある別のアプリケーション「コンソール」を起動し、メッセージをスクロールして、速度低下で再起動が必要になる直前まで遡った。様々なプロセスに関するエラーメッセージが多数見つかった。いくつかはScreenSaverEngineに関するものだった。これは有望な策に思えた。スクリーンセーバーにはMy Living Desktopを使っていた。これはCPUを大量に消費するスクリーンセーバーで、「高解像度の映画ビデオ」を再生する。もしかしたら、これが問題のパズルのもう一つのピースだったのかもしれない。

最初のテストでは、期待外れの結果になりました。再起動後、スクリーンセーバーが起動しなくても速度低下が再発しました。別のスクリーンセーバーに切り替えても速度低下は発生しました。最終的に、ログイン項目リストからMy Living Desktopコンポーネントを削除し、ソフトウェアをアンインストールして再起動しました。すると、なんと、速度低下はなくなりました!

Mac Proには、もう一つ「映画のような」スクリーンセーバー「MacKiev's 3D Weather Globe」が入っていました。このスクリーンセーバーを有効にすると、WindowServerの速度低下が再び顕著になりました。この場合は、別のスクリーンセーバーに切り替えるだけで症状は解消しました。しかし、結局このソフトウェアはアンインストールしました。

私は現在、Apple の組み込みスクリーンセーバーの 1 つを使用しており、速度低下に悩まされることはなくなりました。

まだ一つ疑問が残っています。Lionを使っている人全員がこれらのスクリーンセーバーでこの問題に遭遇するわけではないようです。そうでなければ、検索でこの事実が出てくると思っていたはずです。では、私の特定の設定の何がスクリーンセーバーによる速度低下を引き起こしていたのでしょうか?My Living Desktopのサポートサイトに手がかりがあります。

サイトでは具体的な症状は記載されていませんが、OS X LionにおいてMy Living Desktopとシステム環境設定の項目が「QuickTimeムービーの再生」と競合する可能性があると指摘されています。また、Flip4Mac WMV(私はインストール済みです)が原因の一つとして挙げられています。My Living DesktopはFlip4Macをアンインストールすることを推奨しています。私はまだ試していないので、効果があるかどうかは分かりませんが、同じような速度低下に悩まされている方は試してみる価値はあると思います。