
Mac での WindowServer の CPU 使用率を抑える
MacはOS X Yosemiteで大幅な変更を受け、ビジュアルデザインも大幅に刷新されましたが、これらの変更や様々な透明効果により、一部のユーザーにおいてWindowServerの挙動が不安定になり、Macのパフォーマンスに悪影響が出ている可能性があります。これは通常、WindowServerプロセスが何の理由もなくCPU使用率を急上昇させ、メモリも過剰に消費することで発生します。その結果、一部のコンピュータではMac OS XおよびMacOSの通常の使用時に、動作が非常に遅く、途切れ途切れになることがあります。
最悪の場合、Quick Look を開いたり、いくつかの新しい Finder ウィンドウを開いたり、混雑した Finder フォルダの内容をスクロールしたりすると、WindowServer プロセッサの使用率が急上昇し、コンピュータがフリーズしたり、悪名高いビーチボール カーソルが表示されたりすることがあります。
macOS および Mac OS X において、WindowServer の CPU 使用率が、一見何の理由もなく、頻繁に急上昇する状態が続く場合、この記事はそのような方を対象としています。この記事では、WindowServer の動作(または誤動作)を引き起こしている可能性のある要素や機能を削減することで、WindowServer プロセスの制御を試みます。Mac OS X に表示されるほぼすべての要素を描画するために WindowServer が不可欠であることを考えると、これは困難な作業です。WindowServer の CPU 使用率の問題は、今後修正されるバグまたは最適化の問題であることが期待されますが、当面はこの動作は最新バージョンの Mac OS(Mac OS X 10.10.3 以降)でも、最新の Mac ハードウェアでも依然として続いています。幸いなことに、役立つ解決策がいくつかありますので、早速見ていきましょう。
Mac OS Xで透明効果をオフにする
透明効果をオフにするだけで、Mac OS X Yosemite以降を搭載したMacをこれまで出会った中で、ハードウェアが新しいか古いかに関わらず、すべて動作が速くなりました。コンピューターの動作が特に遅く感じない場合でも、透明効果をオフにするとほぼ確実に速く感じるでしょう。
- Appleメニューに移動し、「システム環境設定」を選択し、「アクセシビリティ」に進みます。
- 左のメニューから「ディスプレイ」を選択します
- 「透明度を下げる」の横にあるスイッチをオンに切り替えます(または、UIをもう少し区別しやすくしたい場合は、「コントラストを上げる」を有効にすることもできます。これにより、OS X全体の半透明の要素もオフになります)。
ほとんどのアクションで速度の向上がすぐに顕著に表れ、Quartz Debug の FPS フレーム レート モニターを使用して前後の結果を測定することもできます。ハードウェアによっては、画面アニメーションのリフレッシュ レートが 10 FPS 以上向上する可能性があります。
これは Mac OS X 10.10.3 (ベータ版ではありますが) でも同じ状況です。そのため、おそらく根深いバグが存在するか、OS X Yosemite ではまだパフォーマンスの最適化が少し必要である可能性があります。
個人的には透明効果が好きなので、最新のMacハードウェアでは透明効果をオンにしたままにしていますが、RAM 16GBを搭載した2015年モデルのRetina MacBook Proでも透明効果をオフにするとパフォーマンスが向上します。一方、2012年モデルのMacBook Airのような、それほど古くないハードウェアでは、透明効果をオンにするとイライラするほど動作が遅くなります。Retina iMac 27インチのユーザーからも同様の苦情を耳にしました。iMacは明らかにかなり新しく高性能なハードウェアです。十分なリソースを備えた新しいハードウェアでも、OS Xで透明効果を表示するのに苦労するということは、最終的にはソフトウェアによる解決策が登場する可能性が高いことを示唆しています。
使用していないアプリとFinderウィンドウを閉じる
OS X Yosemite でアプリや Finder のウィンドウを多数開いている場合、WindowServer が過剰なリソースを消費し始めます。これは OS X のすべてのバージョン(あるいは他の OS)で発生する可能性がありますが、Yosemite では特にリソースを消費する特殊な要因があります。
解決策は、何よりもユーザーの行動を重視します。使用していないウィンドウやアプリを閉じて、リソースを必要としないようにする習慣をつけましょう。
「すべてのウィンドウを閉じる」キーストロークを覚えておくと、これを管理するのに役立ちます。
ミッションコントロールスペースの自動再配置を阻止する
基本的に Mac 上の仮想デスクトップ環境である Spaces を使用する場合、使用状況に基づいて Space が自動的に再配置されるのを停止すると、WindowServer の動作にわずかな違いが生じるようです。
- Appleメニューからシステム環境設定を開き、「Mission Control」に進みます。
- 「最近の使用状況に基づいてスペースを自動的に並べ替える」設定を無効にします
多くのユーザーはこの機能に気づかないので、改善がほとんどなくても通常は気づかれません。
複数のディスプレイがある場合、それぞれのスペースをオフにする
マルチディスプレイ設定の場合、無効にする別の設定は、個々のディスプレイのスペースです。
- システム環境設定を開き、「Mission Control」に移動します
- 「ディスプレイに個別のスペースがある」の設定をオフに切り替えます
- ログアウトするか、Macを再起動してください
もちろん、Mac で複数の画面を使用する習慣がない場合は、この変更は効果がありませんので、他のことに焦点を当てる必要があります。
リブート
Macをシャットダウンしたり再起動したりしないのに、WindowServerのCPU使用率が高くなる問題が発生している場合は、Macの再起動頻度を少し増やしてみると良いかもしれません。Macを再起動するだけで、WindowServerプロセスの不具合を一時的に解決できます。あまり的外れなアドバイスに聞こえるかもしれませんが、複数のコメント投稿者から一時的な効果があったという報告があり、私自身も改善を確認しました。理想的とは言えませんが、根本的な原因が解決されるまでは、これで改善が見られるかもしれません。
上記のすべてを実行しても、WindowServer が誤動作したり、Mac の動作が異常に遅い場合、OS X Yosemite を高速化するためのこれらのヒント、または Mac の動作が遅くなる理由を理解するための一般的なヒントを確認すると、さらに役立つことがあります。
WindowServerで問題が発生したことはありますか?OS X YosemiteでWindowServerのリソース使用量を減らすためのヒントはありますか?ぜひコメント欄であなたの経験やコツを共有してください。