Informazioni sul working set

Il working set di un processo è la quantità di memoria fisicamente mappata al contesto del processo. PSAPI consente di creare snapshot del working set o di monitorare il working set.

La funzione QueryWorkingSet o QueryWorkingSetEx riempie un buffer con uno snapshot delle informazioni per ogni pagina del working set corrente del processo specificato. La funzione segnala solo le pagine fisicamente presenti nel momento esatto in cui viene chiamato.

È possibile usare il monitoraggio del working set per scoprire la quantità di RAM aggiuntiva richiesta da una determinata operazione, ad esempio il salvataggio di un file. Per iniziare a monitorare il working set, chiamare la funzione InitializeProcessForWsWatch . Non tutti i processi consentono di leggere le informazioni sul working set, quindi assicurarsi che la funzione restituisca un valore diverso da zero prima di continuare. Chiamare quindi la funzione GetWsChanges . Questa funzione segnala solo le pagine caricate in memoria dall'inizio del monitoraggio del working set. La funzione restituisce dati in una matrice di strutture PSAPI_WS_WATCH_INFORMATION , una struttura per ogni nuova pagina aggiunta al working set del processo. La struttura indica quali pagine sono in memoria e cosa ha causato la loro pagina nel sistema.

La funzione EmptyWorkingSet accetta un handle di processo. Rimuove il maggior numero possibile di pagine dal working set di processi. Questa operazione è utile principalmente per il test e l'ottimizzazione. Si noti che la funzione SetProcessWorkingSetSize esegue la stessa operazione se si passa -1 per le dimensioni minime e massime.

Working Set