Elaborare le informazioni sull'utilizzo della memoria
La funzione GetProcessMemoryInfo accetta un handle di processo come input e riempie una struttura PROCESS_MEMORY_COUNTERS con informazioni sulle statistiche di memoria per il processo. Il membro cb riceve le dimensioni della struttura. Il membro PageFaultCount riceve il numero di errori di pagina. I membri rimanenti ricevono l'utilizzo corrente e di picco della memoria nelle categorie seguenti:
- set di lavoro
- pool con pagina
- pool non con pagine
- Paging
Il set di lavoro è la quantità di memoria mappata fisicamente al contesto del processo in un determinato momento. La memoria nel pool impaginato è memoria di sistema che può essere trasferita al file di paging su disco (paginato) quando non viene usato. La memoria nel pool non a pagina è memoria di sistema che non può essere paginata su disco, purché gli oggetti corrispondenti vengano allocati. L'utilizzo del file di pagina rappresenta la quantità di memoria messa a parte per il processo nel file di paging del sistema. Quando l'utilizzo della memoria è troppo elevato, le pagine di gestione memoria virtuale selezionate memoria su disco. Quando un thread richiede una pagina che non è in memoria, la gestione memoria lo ricarica dal file di paging.