ワーキングセット【working set】

概要

ワーキングセットとは仮想メモリを使うOS上で、実行中のプログラムがある時点で実際に使用しているメモリページの集合のこと。プロセスが占有するページ全体のうち、直近にアクセスした部分だけを指す。
ワーキングセットのイメージ画像

仮想メモリを用いるとストレージの領域の一部をメインメモリの延長のように扱うことができる。ストレージ側のデータプログラムから直接アクセスできないため、必要になったら「ページ」という固定長の単位ごとにメモリ側の領域と内容を入れ替えてアクセスする仕組みになっている。

このとき、実行中のプログラム(プロセス)は常にすべてのデータを必要とするわけではなく、その時々で特定のデータに集中してアクセスする性質がある。この「今まさに必要としているページの集まり」がワーキングセットで、その内容はプログラムの進行に伴って絶えず変化する。

ワーキングセットに含まれるページが物理メモリ上に収まっていれば、ストレージとの間でデータを入れ替える処理(スワップ)を行わずに済み、プログラムは高い性能を維持して動作できる。一方、物理メモリの空きが不足してワーキングセットの一部がストレージへ追い出されると、必要になる度にページの入れ替えが発生する。これが頻発すると、計算資源のほとんどがデータ転送に費やされ、システム全体の動作が極端に遅くなる「スラッシング」という状態に陥る。

OSはスラッシングを防ぐため、各プロセスのワーキングセットの大きさを動的に推定し、それに見合った物理メモリを割り当てるよう制御する。ワーキングセットの規模はプログラムの種類や処理の段階によって異なり、大量データを横断的に参照する処理では大きくなり、単純な繰り返し処理では小さくなる傾向がある。

ソフトウェアの機能について言う場合

ソフトウェアの操作性に関する文脈で「ワーキングセット」という語が使われることもある。項目数や選択肢が膨大なメニューなどで、頻繁に使うものだけを選んで表示する機能をこのように呼ぶ場合がある。この用法はメモリ管理の概念とは別物だが、「その時点で実際に必要なものだけを手元に置く」という考え方は共通している。

(2026.4.30更新)
 

他の辞典等による「ワーキングセット」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。