Partilhar via


Informações do conjunto de trabalho

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

As funções QueryWorkingSet ou QueryWorkingSetEx preenchem 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 é chamada.

Você pode usar o monitoramento de conjunto de trabalho para descobrir quanta RAM adicional uma operação específica leva (por exemplo, salvar um arquivo). Para começar a monitorizar 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 retorna um valor diferente de zero antes de continuar. Em seguida, chame a função GetWsChanges. Esta 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 com que o sistema as paginasse.

A função EmptyWorkingSet usa um identificador de processo. Ele remove o maior número possível de páginas do conjunto de trabalho do processo. Esta operação é útil principalmente para testes e ajustes. Note que a função SetProcessWorkingSetSize faz a mesma coisa se passares -1 para os tamanhos mínimo e máximo.

Conjunto de Trabalho