Informações do conjunto de trabalho

O conjunto de trabalho de um processo é a quantidade de memória fisicamente mapeada para seu contexto de processo. O PSAPI permite que você tire instantâneos do conjunto de trabalho ou monitore o conjunto de trabalho.

A função QueryWorkingSet ou QueryWorkingSetEx preenche um buffer com um instantâneo das informações para cada página no conjunto de trabalho atual do processo especificado. A função relata apenas as páginas que estão fisicamente presentes no momento exato em que ela é chamada.

Você pode usar o monitoramento do conjunto de trabalho para descobrir a quantidade de RAM adicional que uma operação específica usa (por exemplo, salvar um arquivo). Para começar a monitorar o conjunto de trabalho, chame a função InitializeProcessForWsWatch . Nem todos os processos permitem que você leia as informações do conjunto de trabalho, portanto, certifique-se de que a função retorne um valor diferente de zero antes de continuar. Em seguida, chame a função GetWsChanges . Essa função relata apenas as páginas que foram carregadas na memória desde que você começou a monitorar o conjunto de trabalho. A função retorna dados em uma matriz de estruturas PSAPI_WS_WATCH_INFORMATION , uma estrutura para cada nova página adicionada ao conjunto de trabalho do processo. A estrutura informa quais páginas estão na memória e o que fez o sistema paginá-las.

A função EmptyWorkingSet usa um identificador de processo. Ele remove o máximo de páginas possível do conjunto de trabalho do processo. Essa operação é útil principalmente para teste e ajuste. Observe que a função SetProcessWorkingSetSize fará a mesma coisa se você passar -1 para os tamanhos mínimo e máximo.

Conjunto de trabalho