工作集信息

进程的工作集是物理映射到其进程上下文的内存量。 使用 PSAPI 可以拍摄工作集的快照或监视工作集。

QueryWorkingSetQueryWorkingSetEx 函数使用指定进程的当前工作集中每个页面的信息快照填充缓冲区。 函数仅报告在调用它的确切时刻实际存在的那些页面。

可以使用工作集监视来了解特定操作需要多少额外的 RAM (例如保存文件) 。 若要开始监视工作集,请调用 InitializeProcessForWsWatch 函数。 并非所有进程都允许你读取其工作集信息,因此,在继续操作之前,请确保函数返回非零值。 接下来,调用 GetWsChanges 函数。 此函数仅报告自开始监视工作集以来在内存中加载的页面。 该函数返回 PSAPI_WS_WATCH_INFORMATION 结构数组中的数据,每个新页面添加到进程的工作集的一个结构。 结构告知内存中有哪些页,以及导致系统分页的原因。

EmptyWorkingSet 函数采用进程句柄。 它会从进程工作集中删除尽可能多的页面。 此操作主要用于测试和优化。 请注意,如果为最小和最大大小传递 SetProcessWorkingSetSize 函数,则执行相同的操作。

工作集