ワーキング セット情報

プロセスのワーキング セットは、プロセス コンテキストに物理的にマップされるメモリの量です。 PSAPI を使用すると、ワーキング セットのスナップショットを取得したり、ワーキング セットを監視したりすることができます。

QueryWorkingSet または QueryWorkingSetEx 関数は、指定されたプロセスの現在のワーキング セット内のすべてのページの情報のスナップショットをバッファーに格納します。 関数は、呼び出された正確な時点で物理的に存在するページのみを報告します。

ワーキング セット監視を使用して、特定の操作で必要な RAM の量を確認できます (ファイルの保存など)。 ワーキング セットの監視を開始するには、 InitializeProcessForWsWatch 関数を呼び出します。 すべてのプロセスでワーキング セット情報を読み取ることができるわけではないため、続行する前に関数から 0 以外の値が返されることを確認してください。 次に、 GetWsChanges 関数を 呼び出します。 この関数は、ワーキング セットの監視を開始してからメモリに読み込まれたページのみを報告します。 関数は、プロセスのワーキング セットに追加された新しいページごとに 1 つの構造体である、 PSAPI_WS_WATCH_INFORMATION 構造体の配列内のデータを返します。 構造体は、メモリ内のページと、システムがページをページングする原因を示します。

EmptyWorkingSet 関数は、プロセス ハンドルを受け取ります。 プロセス ワーキング セットから可能な限り多くのページを削除します。 この操作は、主にテストとチューニングに役立ちます。 SetProcessWorkingSetSize 関数は、最小サイズと最大サイズに対して -1 を渡すと同じ処理を行います。

ワーキング セット