Información del conjunto de trabajo
El conjunto de trabajo de un proceso es la cantidad de memoria asignada físicamente a su contexto de proceso. PSAPI permite tomar instantáneas del espacio de trabajo o supervisar el espacio de trabajo.
La función QueryWorkingSet o QueryWorkingSetEx rellena un búfer con una instantánea de la información de cada página del conjunto de trabajo actual del proceso especificado. La función informa solo de las páginas que están físicamente presentes en el momento exacto en que se llama.
Puede usar la supervisión de conjuntos de trabajo para averiguar cuánto RAM adicional toma una operación determinada (por ejemplo, guardar un archivo). Para empezar a supervisar el conjunto de trabajo, llame a la función InitializeProcessForWsWatch . No todos los procesos le permiten leer la información del conjunto de trabajo, así que asegúrese de que la función devuelve un valor distinto de cero antes de continuar. A continuación, llame a la función GetWsChanges . Esta función informa solo de las páginas que se han cargado en memoria desde que comenzó a supervisar el espacio de trabajo. La función devuelve datos en una matriz de estructuras de PSAPI_WS_WATCH_INFORMATION , una estructura para cada página nueva agregada al conjunto de trabajo del proceso. La estructura indica en qué páginas se encuentran en memoria y en qué ha provocado que el sistema las pagina.
La función EmptyWorkingSet toma un identificador de proceso. Quita tantas páginas como sea posible del conjunto de trabajo del proceso. Esta operación es útil principalmente para las pruebas y el ajuste. Tenga en cuenta que la función SetProcessWorkingSetSize hace lo mismo si se pasa -1 para los tamaños mínimo y máximo.
Temas relacionados