Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

物理メモリのライフサイクルについて説明する。
仮想メモリ管理とは別です。

物理メモリの割当・解放

割当

プロセスが(仮想記憶上で)メモリ割当を行った場合、

解放

プロセスが(仮想記憶上で)メモリ開放を行った場合、

ワーキングセットとスタンバイリスト

ワーキングセット

各プロセスに割り当てられる物理メモリ。

プライベート ワーキングセット

ワーキングセットのうち、他のプロセスと共有できない(DLL、MMFを除く)メモリ ページのセット。

システム ワーキングセット

システムに割り当てられる物理メモリ。≒ (ファイル)システムキャッシュ

スタンバイリスト

スタンバイリストは利用可能なページを溜め込んでいるリスト的なもの。

通常のスタンバイリスト

スタンバイリストは、プログラムによって書き換えられていないページ。

変更済みページリスト

変更済みページリストは、プログラムによって書き換えられたページであり、
ページングファイル(ディスク)に書き込まれた後に、スタンバイ リストを経由してでないとワーキングセットに戻せない。

ページ フォールト

ハード ページ フォールト

ワーキングセット中に未使用のメモリページが存在せず、メモリページの個数が上限に達している場合、ワーキングセットからメモリページを取り除き、取り除いたメモリページを必要に応じてページングファイルにスワップアウトし、新たに物理メモリ上のメモリページを割り当て、ワーキングセットに追加する。

ソフト ページ フォールト

また、利用中のワーキングセットのページがトリミングによりスタンバイリストに移動させられた際に、プロセスがこれらのページにアクセスした場合、ページは、ワーキング セットへ "ソフト ページ フォールト" で戻される。これは"ハード ページ フォールト"と比べるとディスク アクセスを必要としないので非常に高速である。

ツール

物理メモリのページ確認

Windbgの以下のコマンドで確認できる。

0: kd> !memusage
loading PFN database
loading (100% complete)
Compiling memory usage data (99% Complete).
             Zeroed: 173816 (695264 kb)
               Free:      0 (     0 kb)
            Standby:  71317 (285268 kb)
           Modified:   1387 (  5548 kb)
    ModifiedNoWrite:    561 (  2244 kb)
       Active/Valid: 145881 (583524 kb)
         Transition:     16 (    64 kb)
            Unknown:      0 (     0 kb)
              TOTAL: 392978 (1571912 kb)

(ファイル)システムキャッシュのサイズ設定

以下の様なツールも存在する。

参考


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS