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

目次

概要

仮想アドレス空間にマッピングされた各コミット済みページは

に支持される。

ページ

予約済みページ

コミット済みページ

ワーキングセット

仮想アドレスに直接関係しないプロセスの所有する物理メモリ

32ビットと64ビット

32bitの仮想アドレス空間64bitの仮想アドレス空間
合計4GB合計16TB
2GBがカーネルモード8TBがカーネルモード
2GBがユーザモード8TBがユーザモード

32bit

仮想アドレス空間

32bitのデフォルトで

AWE

AWEにより、32bitプロセスでも仮想アドレス空間の拡張可能。
(APPがAWEをサポートしていればAWEのAPIを使用して独自にメモリ管理をする)

また、3GBスイッチでユーザモードをx86:3GB、x64:4GB※に拡張可能。
※ 32ビットプロセス(WOW64)でアクセス可能な仮想アドレス空間にカーネル空間が存在しないため、4GBをフルに活用できる。

64bit

仮想アドレス空間

カーネルモード・ユーザモードの仮想アドレス空間

ユーザモード

カーネルモード

カーネルモードの仮想アドレス空間は、全てのプロセスで共有される。

※ これらの調査の操作は、Process Explorerに統合されている(★)。

以下のツールも利用可能。

を使用すると、プロセスで利用されている.sys(ドライバ)を確認できる。

仮想アドレス空間の確保のAPI

メモリ プール

メモリ プール(ページ プールおよび非ページ プール)

ページ プール

ページング可能なメモリ プール

(レジストリやメモリ マップ ファイルを表すデータ構造が格納される)  

非ページ プール

ページング不可能なメモリ プール

(カーネルとデバイス ドライバーがシステムがページ フォールトを
処理できないときにアクセスされる可能性があるデータを格納している。)  

参考

カーネル モードで動作するモジュール(ドライバ)から確保され、
モジュール(ドライバ)を識別可能なタグ名が付与される。

以下のAPIにより確保される。

PVOID   ExAllocatePoolWithTag(
IN POOL_TYPE  PoolType,
IN SIZE_T  NumberOfBytes,
IN ULONG  Tag                <<<<< 
);


このタグを利用してリークの原因となっているモジュールを特定できる。


Tags: :障害対応, :デバッグ


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