PoolMon の表示
PoolMon は、プール メモリの割り当てに関するデータの列をコマンド ウィンドウに表示します。 方向キー、PAGE UP キー、PAGEDOWN キーを使用して、データをスクロールします。
Note
PoolMon 表示全体を表示するには、コマンド プロンプト ウィンドウのサイズが 80 文字以上 (幅 = 80) で、高さが 53 行以上 (高さ = 53) である必要があります。コマンド プロンプト ウィンドウ バッファーは、幅が 500 文字以上 (幅 = 500) で、高さが 2,000 行以上 (高さ = 2000) である必要があります。 それ以外の場合は、表示が切り捨てられる可能性があります。
次の表では、PoolMon 表示の列について説明します。
列名 | 説明 |
---|---|
Tag | プール割り当てに割り当てられた 4 バイトのタグ。 |
Type | メモリ割り当てがページング バイトか非ページ バイトかについて。 |
[[Allocs] | 割り当ての数。 |
( ) | 前回の更新以降の割り当ての数の変更。 |
[Frees] | 解放操作の数。 |
( ) | 前回の更新以降の割り当ての数の変更。 |
[Diff] | 割り当ての数から解放操作の数を引いた値。 |
[サイズ] | 割り当てのサイズ (使用されたバイト単位)。 |
( ) | 前回の更新以降の割り当てサイズの変更。 |
[Per Alloc] | バイトの値を Diff の値で除算します。 |
[Mapped_Driver] | プール タグ値を割り当てる他の一般的に使用されるドライバーとシステム コンポーネント (/g) のローカル ドライバー。 この列は、 /gパラメーターを使用する場合にのみ表示されます。 |
次のサンプル PoolMon 出力は、割り当ての数で並べ替えられます。 (この方法で表示を並べ替えるには、 /aパラメーターを使用して PoolMon を開始します)。
Memory: 260620K Avail: 96364K PageFlts: 0 InRam Krnl: 1916K P:17856K
Commit: 203500K Limit: 640916K Peak: 260632K Pool N: 8332K P:27220K
System pool information
Tag Type Allocs Frees Diff Bytes Per Alloc
Wait Nonp 3971107 ( 0) 3971077 ( 0) 30 8456 ( 0) 281
ObSt Nonp 2791258 ( 0) 2791258 ( 0) 0 0 ( 0) 0
Gxlt Paged 1161638 ( 0) 1161630 ( 0) 8 864 ( 0) 108
Ustm Paged 1088342 ( 0) 1088298 ( 0) 44 2464 ( 0) 56
Io Nonp 1021112 ( 1) 1020985 ( 1) 127 91912 ( 0) 723
ObSq Paged 967615 ( 0) 967615 ( 0) 0 0 ( 0) 0
Key Paged 954821 ( 0) 953979 ( 0) 842 87528 ( 0) 103
SePa Nonp 680348 ( 0) 680321 ( 0) 27 3656 ( 0) 135
更新率
PoolMon は、5 秒ごとに表示を更新します。 プログラムで更新レートを変更することはできません。 ただし、PoolMon が実行されているウィンドウにフォーカスがある場合は、いくつかのキーをクリックして PoolMon の結果を強制的に更新できます。 たとえば、Ctrl キーと Altキーを押しながら強制的に更新しますが、印刷画面では更新されません。
累積値
PoolMon に表示されるデータは、プールのタグ付けが有効になっているときは常に、Windows によって収集および計算されます。 割り当て、空き操作、および使用されるバイトの値は、Windows が起動した時点から累積され、Windows が再起動されるまで単調に増加します。 Windows が起動した後にドライバーまたはコンポーネントが起動した場合、値はドライバーまたはコンポーネントが最後に起動した時点から累積され、ドライバーまたはシステムが再起動されたときにのみリセットされます。
タグ値の解釈
すべてのプール メモリ割り当てにはタグがありますが、それらすべてが特徴的なタグ値を持つわけではありません。 メモリを割り当てるドライバーが ExAllocatePoolWithTag またはExAllocatePoolWithQuotaTagを使用してタグ値を設定する場合、プール のメモリ割り当てには特徴的なタグ値があります。 ドライバーがタグ値 (ExAllocatePool、ExAllocatePoolWithQuota) を割り当てない場合でも、Windows はタグを作成しますが、既定のタグ値 None を割り当てます。 その結果、そのドライバーの割り当ての統計情報を他のプール割り当てと区別することはできません。