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を使用してタグ値を設定する場合、プール のメモリ割り当てには特徴的なタグ値があります。 ドライバーがタグ値 (ExAllocatePoolExAllocatePoolWithQuota) を割り当てない場合でも、Windows はタグを作成しますが、既定のタグ値 None を割り当てます。 その結果、そのドライバーの割り当ての統計情報を他のプール割り当てと区別することはできません。