工作集資訊

進程的工作集是實際對應至其進程內容的記憶體數量。 PSAPI 可讓您擷取工作集的快照集或監視工作集。

QueryWorkingSetQueryWorkingSetEx函式會填入緩衝區,其中包含指定進程目前工作集中每個頁面資訊的快照集。 函式只會報告在呼叫時實際存在的頁面。

您可以使用工作集監視來找出特定作業需要多少額外的 RAM (,例如儲存檔案) 。 若要開始監視工作集,請呼叫 InitializeProcessForWsWatch 函式。 並非所有進程都可讓您讀取其工作集資訊,因此在繼續之前,請確定函式會傳回非零值。 接下來,呼叫 GetWsChanges 函式。 此函式只會報告自從您開始監視工作集之後,記憶體中已載入的頁面。 函式會傳回 PSAPI_WS_WATCH_INFORMATION 結構陣列中的資料,每個新頁面都會有一個結構新增至進程的工作集。 結構會告訴您哪些頁面位於記憶體中,以及導致系統將它們分頁的原因。

EmptyWorkingSet函式會採用進程控制碼。 它會從進程工作集移除盡可能多的頁面。 這項作業主要用於測試和調整。 請注意,如果您針對最小和大小上限傳遞 SetProcessWorkingSetSize 函式,它會執行相同的動作。

工作集