2005-10-22から1日間の記事一覧

レスポンスチューニング

さて,以上のように Windows の仮想メモリの働きについて見てきましたが,近年の搭載メモリ量の増加と共に一部パフォーマンスに問題が発生しているような局面も見受けられるようになってきました. 例えば 512MB の "Working Set" を持つアプリケーションの…

メモリマップドファイルとワーキングセット

メモリマップドファイルも "Working Set" を消費します.試しに 256MB のファイルをメモリ空間にマッピングしてみましょう. まずはファイルの作成からです.@IT で紹介されている『巨大なサイズのファイルを簡単に作る方法』で 256MB のファイルを作成しま…

pfmon.exe

「ソフトページフォールト」,「ハードページフォールト」は,OS サポートツールや Platform SDK に含まれる pfmon を使っても観察できます. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tools/tools/pfmon.asp

ハードページフォールト

"Working Set" から外されたメモリページの内容がディスク上に書き出され,元々の物理メモリの内容が消去されてしまうこともあります*1.この後に該当アドレスにメモリアクセスが発生すると,HDD に退避したデータを物理メモリに読み出した上で動作が継続さ…

ソフトページフォールト

"Working Set" から外されたメモリページは,直ちにディスク上に退避されるわけではありません*1.ページが「変更済みページリスト」或いは「スタンバイページリスト」に留まっている間に再度メモリアクセスが発生した場合は,ページはページフォールトを経…

デマンドページング

例えば,VirtualAlloc で 256MB のメモリを確保し,先頭から何か書き込んでいくというプログラムで実験してみましょう. VirtualAlloc ( NULL, 1024 * 1024 * 256, MEM_COMMIT, PAGE_READWRITE );各時点での値は,以下のようになります. Page Faults Workin…

メモリ周りを見るときの Process Explorer の準備

まず Process Explorer をダウンロードし実行します.本当はカーネル内部変数からも情報を引っ張り出せるようにシンボルサーバの設定をしておくべきなんですがその辺の話は省略*1. 次に,プロセスリストの表示項目に少なくとも以下の 4 つの項目が表示され…

Appendix

id:NyaRuRu:20051021:p1 の補足です. 以下の話のほとんどは『インサイドMicrosoft Windows (上)』に書かれています.より正確で詳細な内容が知りたい方は是非参照してみてください. インサイド Microsoft Windows 第4版〈上〉 (マイクロソフト公式解説書)…