コンテンツにスキップ

ガイド

MacのWindowServerとは?なぜCPUを多く使うのか

WindowServerは、すべてのウインドウ、メニュー、アニメーションを画面に表示する、アクティビティモニタ上のプロセスです。負荷が高いときは、アプリやディスプレイ構成が求める処理をこなしています。その原因を見つける方法を説明します。

執筆: · 更新日: · 読了時間 約9分

簡単な答え

MacのWindowServerは、すべてのウインドウ、メニューバー、Dockをディスプレイに描画するmacOSのプロセスです。CPU使用率が高いのは、画面上で何かが変化し続けているか、ディスプレイの数が多い、大きい、またはスケーリング解像度を使っているためです。強制終了は絶対にしないでください。ログアウトされ、すべてのアプリが閉じます。ウインドウを閉じ、アニメーションするアプリを終了し、デフォルトの解像度を使ってください。

このページの内容

WindowServerの役割

各アプリは自分のウインドウを描画してWindowServerに渡します。WindowServerはそれらをメニューバー、Dock、影、透明効果、アニメーションと合成し、各ディスプレイに表示する画面を作ります。すべてのディスプレイ、すべてのウインドウ、すべてのフレームがWindowServerを通ります。

そのため、CPU、GPU、メモリの使用量は画面上の状況に応じて変わります。作業中に数パーセントのCPUを使うのは正常で、メモリはディスプレイの数と大きさに応じて増えます。

アクティビティモニタでのWindowServer

アクティビティモニタ(「ユーティリティ」フォルダ内)を開き、検索フィールドに「WindowServer」と入力します。WindowServerの行は1つで、「ユーザ」列には_windowserverと表示されます。macOSはこのプロセスを、あなたのアカウントではなく専用のシステムユーザとして実行します。CPUタブには% CPUの値が、メモリタブにはメモリ使用量が表示されます。「ウインドウ」→「GPUの履歴」を選ぶと、描画中のグラフィックプロセッサの負荷を確認できます。

WindowServerのユーザ、プロセスID、パス
ps -axo user,pid,comm | grep WindowServer
このガイドを書いたMacでの出力(プロセスIDはMacごとに異なります)
_windowserver      431 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer

ここに表示されるのは正常です。どのMacでもWindowServerは常に動作しています。

WindowServerを終了しても大丈夫?

いいえ、絶対に終了しないでください。WindowServerを強制終了するとすぐにログアウトされ、保存の確認なしにすべてのアプリが閉じて、ログインウインドウに戻ります。CPU使用率を下げるために終了する理由はありません。

WindowServerのCPU使用率が高くなる理由

  • ディスプレイの数が多い、または大きい。 外部ディスプレイが1台増えるごとに、描画する画面がまるごと1つ増えます。高解像度のディスプレイでは、フレームごとのピクセル数も増えます。
  • スケーリング解像度。 画面により多くを表示するスケーリング設定では、macOSは高い解像度で描画してから縮小します。Appleは、スケーリング解像度を使うとパフォーマンスに影響することがあると説明しています。
  • 透明効果と動き。 半透明のメニュー、サイドバー、Dock、そしてアニメーションは、いずれも描画の負荷を増やします。
  • ウインドウが多い。 開いているウインドウは、ほかのウインドウの後ろや別のデスクトップにあるものも含めて、すべて描画できる状態に保つ必要があります。
  • 常に再描画するアプリ。 ビデオやアニメーションのあるWebページ、ゲーム、動く壁紙、更新の多いダッシュボードなどがあると、WindowServerはフレームごとに再描画します。急に負荷が上がる原因として最も多いのがこれです。Chromeの場合は、Chrome Helperのガイド(英語)でタブの見つけ方を説明しています。

WindowServerの負荷が高いのは、たいてい症状にすぎません。別のアプリが大量の描画を求めているのです。Macが熱くなっている場合は、macOSがチップを冷やすために負荷の高いアプリを抑えるので、kernel_taskの値も上がることがあります。

WindowServerのメモリ使用量が多い場合

WindowServerのメモリは、描画できる状態に保つ必要があるものの量で決まります。すべてのデスクトップにある、すべてのディスプレイ分の、開いているウインドウすべてです。ウインドウ、デスクトップ、ピクセル数が増えるほど多くなります。数百MBは普通で、大きなディスプレイや複数のディスプレイではさらに増えます。

現在のWindowServerのメモリ
top -l 1 -o mem -n 60 -stats pid,command,mem | grep WindowServer

このガイドを書いた14インチMacBook Pro(M1 Pro、16 GB)では、内蔵ディスプレイのみの状態で、macOS 27.0で609 MBと表示されました。アクティビティモニタでは、同じ値がメモリタブに表示されます。検索フィールドに「WindowServer」と入力してください。

数値だけでは問題があるかどうかは分かりません。「メモリ」タブの下部にある「メモリプレッシャー」のグラフを確認してください(memory pressure、英語)。緑であれば、数値がいくつであっても、WindowServerのメモリがMacを遅くしているわけではありません。黄色や赤の場合は、メモリプレッシャーの意味とアプリメモリとは何か(いずれも英語)を読んでから、次の手順を試してください。

  1. 使っていないウインドウを閉じます。しまってあるウインドウや別のデスクトップにあるウインドウも含みます。ブラウザのウインドウは1つずつ数えられます。
  2. Mission Controlで、不要なデスクトップを削除します。
  3. 使っていないディスプレイを取り外し、各ディスプレイでデフォルトの解像度を使います。
  4. 同じウインドウとディスプレイのまま数日にわたって値が増え続ける場合は、ログアウトしてからログインし直します。WindowServerはログイン時に新しく起動するので、メモリは最初の値に戻ります。ログアウトするとアプリが閉じるので、先に作業内容を保存してください。
  5. 最新のmacOSアップデートをインストールします。システムプロセスの修正はアップデートで提供されます。

原因の見つけ方

アクティビティモニタのCPUタブを% CPUで並べ替え、WindowServerと一緒に負荷が高くなっているアプリを探します。たいていはそれが再描画しているアプリです。「ウインドウ」→「GPUの履歴」で、GPUの負荷を確認できます。

負荷の高いプロセス(ターミナル)
top -l 2 -o cpu -n 10 -stats pid,command,cpu | tail -11
接続中のディスプレイとその解像度
system_profiler SPDisplaysDataType

簡単な確認方法があります。疑わしいアプリを終了するか隠して、アクティビティモニタでWindowServerの% CPUを見てください。値が下がれば、それが原因です。

対処法

  1. 不要なウインドウやブラウザのタブを閉じます。特に、ビデオを再生しているものやアニメーションしているものです。
  2. 見ていない間もアニメーションし続けるアプリを終了します。
  3. 各ディスプレイでデフォルトの解像度を使います。「システム設定」→「ディスプレイ」では、macOSがそのディスプレイに最適として選ぶ解像度がデフォルトです。画面により多くを表示するスケーリング設定は、負荷が高くなります。
  4. 「システム設定」→「アクセシビリティ」→「ディスプレイ」で、透明度を下げるをオンにします。一部の背景の透明効果が、不透明な表示に置き換わります。
  5. 使っていない外部ディスプレイを取り外し、WindowServerの値が下がるか確認します。

もっと早い方法:iKnowMyMacの「これは何?」

iKnowMyMacは、これをアプリの中で説明します。プロセスの各行に「これは何?」があり、そのプロセスが何か、終了しても安全か、今なぜ負荷が高いのか、何をすればよいかを示します。WindowServerの場合は、現在描画しているディスプレイの台数を表示します。

FAQ

よくある質問

ほかにご質問は? support@iknowmymac.com

MacのWindowServerとは何ですか?

WindowServerは、すべてのウインドウ、メニューバー、Dockをディスプレイに描画するmacOSのプロセスです。各アプリがウインドウを渡し、WindowServerがそれらを合成して各画面の表示を作ります。どのMacでも常に動作しています。

アクティビティモニタのWindowServerとは何ですか?

WindowServerという名前の行で、「ユーザ」列には_windowserverと表示されます。% CPUとメモリの値は画面上の状況に応じて変わります。ディスプレイやウインドウが多いほど、また常に再描画するアプリがあるほど、値は大きくなります。

なぜWindowServerがCPUを多く使っているのですか?

たいていは、ビデオ、アニメーションのあるWebページ、ゲームなど、常に再描画しているアプリがあるか、追加のディスプレイ、大きなディスプレイ、スケーリング解像度を使っているためです。「CPU」タブを% CPUで並べ替え、WindowServerと一緒に負荷が高いアプリを見つけて、終了するか隠して確認してください。

WindowServerのメモリ使用量はどのくらいが普通ですか?

決まった値はありません。開いているウインドウとデスクトップの数、ディスプレイの大きさと台数によって変わります。数百MBは普通です。「メモリプレッシャー」のグラフで判断してください。緑であれば問題ありません。

何もしていないのにWindowServerがCPUを使うのはなぜですか?

画面上で何かが変化し続けています。ビデオ、アニメーションのあるWebページ、動く壁紙、常に再描画するアプリなどです。アプリを1つずつ隠すか終了して、WindowServerの% CPUを見ながら原因を探してください。

WindowServerはウイルスですか?

いいえ。macOSの一部で、/System/Library/PrivateFrameworks/SkyLight.frameworkから実行されます。どのMacでも常に動作しています。

Macを再起動せずにWindowServerを再起動できますか?

ログアウトしてログインし直すと再起動されます。アクティビティモニタで強制終了しないでください。すぐにログアウトされ、保存されないまますべてのアプリが閉じます。

Macが遅い理由がわかる。

macOS 15 Sequoia以降 · Apple silicon。51.4 MBのネイティブアプリで、Appleの公証済みです。アカウント不要、アナリティクスなし、テレメトリなし。

買い切り · すべての機能 · 14日間の返金