Visualizzazione PoolMon
PoolMon visualizza colonne di dati sulle allocazioni di memoria del pool in una finestra di comando. Usare i tasti di direzione, l'UP DELLA PAGINA e i tasti PAGE DOWN per scorrere i dati.
Nota
Per visualizzare l'intera visualizzazione PoolMon, le dimensioni della finestra del prompt dei comandi devono essere di almeno 80 caratteri (width=80) e almeno 53 righe elevate (height=53); e il buffer della finestra del prompt dei comandi deve essere di almeno 500 caratteri wide (width=500) e almeno 2000 righe elevate (height=2000). In caso contrario, la visualizzazione potrebbe essere troncata.
Nella tabella seguente vengono descritte le colonne nella visualizzazione PoolMon.
Nome colonna | Descrizione |
---|---|
Tag | Tag a 4 byte assegnato all'allocazione del pool. |
Tipo | Indipendentemente dal fatto che le allocazioni di memoria siano in byte impaginati o non impaginati. |
Allochi | Numero di allocazioni. |
( ) | Modifica del numero di allocazioni dall'ultimo aggiornamento. |
Libera | Numero di operazioni gratuite. |
( ) | Modifica del numero di allocazioni dall'ultimo aggiornamento. |
Diff | Numero di allocazioni meno il numero di operazioni gratuite. |
Byte | Dimensioni delle allocazioni, in byte usate. |
( ) | Modifica delle dimensioni dell'allocazione dall'ultimo aggiornamento. |
Per alloco | Valore di Byte diviso in base al valore di Diff. |
Mapped_Driver | I driver locali altri driver e componenti di sistema comunemente usati (/g) che assegnano il valore del tag del pool. Questa colonna viene visualizzata solo quando si usa il parametro /g . |
L'output di PoolMon di esempio seguente viene ordinato in base al numero di allocazioni. Per ordinare la visualizzazione in questo modo, avviare PoolMon con il parametro /a .
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
Frequenza di aggiornamento
PoolMon aggiorna la visualizzazione ogni cinque secondi. Non è possibile modificare a livello di codice la frequenza di aggiornamento. È tuttavia possibile forzare un aggiornamento dei risultati di PoolMon facendo clic su alcune chiavi, se la finestra PoolMon è in esecuzione ha lo stato attivo. CTRL e ALT, ad esempio, forzare un aggiornamento; tuttavia, la schermata stampa non è.
Valori accumulati
I dati visualizzati da PoolMon vengono raccolti e calcolati da Windows ogni volta che il tag del pool è abilitato. I valori per le allocazioni, le operazioni gratuite e i byte usati si accumulano dal momento dell'avvio di Windows e aumentano monotonicamente fino al riavvio di Windows. Se un driver o un componente viene avviato dopo l'avvio di Windows, i valori vengono accumulati dall'ultima volta che il driver o il componente è stato avviato e reimpostato solo quando il driver o il sistema viene riavviato.
Interpretazione dei valori dei tag
Tutte le allocazioni di memoria del pool hanno tag, ma non tutti hanno valori di tag caratteristici. Le allocazioni di memoria del pool hanno valori di tag caratteristici quando il driver che alloca la memoria imposta il valore del tag usando ExAllocatePoolWithTag o ExAllocatePoolWithQuotaTag. Se il driver non assegna un valore di tag (ExAllocatePool, ExAllocatePoolWithQuota), Windows crea comunque un tag, ma assegna il valore di tag predefinito None. Di conseguenza, non è possibile distinguere le statistiche per le allocazioni del driver da quella di altre allocazioni di pool.