工作集資訊
進程的工作集是實際對應到其進程內容的記憶體數量。 PSAPI 可讓您擷取工作集快照或監視工作集的變動。
QueryWorkingSet 或 QueryWorkingSetEx 函式會以指定進程目前工作集中每個頁面的資訊快照集填滿緩衝區。 函式只會報告在呼叫它時實際存在的頁面。
您可以使用工作集監控來瞭解特定操作所需的額外 RAM(例如儲存檔案)。 若要開始監視工作集,請呼叫 InitializeProcessForWsWatch 函式。 並非所有進程都可讓您讀取其工作集資訊,因此在繼續之前,請確定函式會傳回非零值。 接下來,呼叫 GetWsChanges 函式。 此函式只會報告自您開始監視工作集以來已載入記憶體中的頁面。 函式會傳回由 PSAPI_WS_WATCH_INFORMATION 結構組成的數據陣列,針對每個新增至進程工作集的新頁面各有對應的一個結構。 結構會告訴您哪些頁面位於記憶體中,以及導致系統將其分頁的原因。
EmptyWorkingSet 函式需要程序句柄。 它會從程序工作集移除盡可能多的頁面。 這項作業主要用於測試和微調。 請注意,如果您傳遞 -1 作為最小和最大大小,SetProcessWorkingSetSize 函式會執行相同的功能。
相關主題