"Working Set" から外されたメモリページの内容がディスク上に書き出され,元々の物理メモリの内容が消去されてしまうこともあります*1.この後に該当アドレスにメモリアクセスが発生すると,HDD に退避したデータを物理メモリに読み出した上で動作が継続されます.このようなディスクアクセスを伴うページフォールトは「ハードページフォールト」と呼ばれています.ソースコード上はただのメモリアクセスという箇所あっても,非常に長時間処理をブロックされる可能性があることに注意してください. これが実際どれぐらい影響を及ぼすかは,以下のように確かめられます.上のサンプルの SetProcessWorkingSetSize を呼び出した直後にプログラムを一時停止させ,いわゆる「メモリ最適化系」のツールを実行してみます.今回は「メモリの掃除屋さん」を利用させて頂きました. http://www6.plal