「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †概要 †物理メモリのライフサイクルについて説明する。 物理メモリの割当・解放 †
※ ゼロページスレッドによるゼロページ化はメモリ・スキャベンジ防止のセキュリティ対策のため。 割当 †プロセスが(仮想記憶上で)メモリ割当を行った場合、
解放 †プロセスが(仮想記憶上で)メモリ開放を行った場合、
ワーキングセットとスタンバイリスト †トリミング †ワーキングセットをスタンバイリストに移動するWindowsOSの物理メモリ管理の動作を指す。 ワーキングセット †各プロセスに割り当てられる物理メモリ。
プライベート ワーキングセット †ワーキングセットのうち、他のプロセスと共有できない(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)
(ファイル)システムキャッシュのサイズ設定 †以下の様なツールも存在する。
参考 †
|