Processar informações de uso de memória
A função GetProcessMemoryInfo usa um identificador de processo como entrada e preenche uma estrutura PROCESS_MEMORY_COUNTERS com informações sobre as estatísticas de memória do processo. O membro cb recebe o tamanho da estrutura. O membro PageFaultCount recebe o número de falhas de página. Os membros restantes recebem o uso de memória atual e de pico nas seguintes categorias:
- conjunto de trabalho
- pool de páginas
- pool nãopaged
- Paginação
O conjunto de trabalho é a quantidade de memória mapeada fisicamente para o contexto do processo em um determinado momento. A memória no pool de páginas é a memória do sistema que pode ser transferida para o arquivo de paginação em disco (paginado) quando ele não está sendo usado. A memória no pool nãopagado é a memória do sistema que não pode ser paginada no disco, desde que os objetos correspondentes sejam alocados. O uso do arquivo de página representa a quantidade de memória reservada para o processo no arquivo de paginação do sistema. Quando o uso de memória é muito alto, as páginas do gerenciador de memória virtual selecionaram memória em disco. Quando um thread precisa de uma página que não esteja na memória, o gerenciador de memória a recarrega do arquivo de paginação.