다음을 통해 공유


작업 집합 정보

프로세스의 작업 집합은 프로세스 컨텍스트에 물리적으로 매핑된 메모리 양입니다. PSAPI를 사용하면 작업 집합의 스냅샷을 생성하거나 작업 집합을 모니터링할 수 있습니다.

QueryWorkingSet 또는 QueryWorkingSetEx 함수는 지정된 프로세스의 현재 작업 집합에 있는 모든 페이지에 대한 정보의 스냅샷 버퍼를 채웁니다. 함수는 호출되는 정확한 순간에 물리적으로 존재하는 페이지만 보고합니다.

작업 집합 모니터링을 사용하여 특정 작업이 수행하는 추가 RAM(예: 파일 저장)을 확인할 수 있습니다. 작업 집합 모니터링을 시작하려면 InitializeProcessForWsWatch 함수를 호출합니다 . 모든 프로세스에서 작업 집합 정보를 읽을 수 있는 것은 아니므로 계속하기 전에 함수가 0이 아닌 값을 반환해야 합니다. 다음으로 GetWsChanges 함수를 호출합니다 . 이 함수는 작업 집합 모니터링을 시작한 이후 메모리에 로드된 페이지만 보고합니다. 함수는 프로세스의 작업 집합에 추가된 각 새 페이지에 대해 하나의 구조인 PSAPI_WS_WATCH_INFORMATION 구조의 배열에서 데이터를 반환합니다. 구조체는 메모리에 있는 페이지와 시스템에서 페이지로 이동한 원인을 알려줍니다.

EmptyWorkingSet 함수는 프로세스 핸들을 사용합니다. 프로세스 작업 집합에서 가능한 한 많은 페이지를 제거합니다. 이 작업은 주로 테스트 및 튜닝에 유용합니다. SetProcessWorkingSetSize 함수는 최소 및 최대 크기에 대해 -1을 전달하는 경우 동일한 작업을 수행합니다.

작업 집합