GetProcessWorkingSetSize 함수(memoryapi.h)

지정된 프로세스의 최소 및 최대 작업 집합 크기를 검색합니다.

구문

BOOL GetProcessWorkingSetSize(
  [in]  HANDLE  hProcess,
  [out] PSIZE_T lpMinimumWorkingSetSize,
  [out] PSIZE_T lpMaximumWorkingSetSize
);

매개 변수

[in] hProcess

작업 집합 크기를 가져올 프로세스에 대한 핸들입니다. 핸들에는 PROCESS_QUERY_INFORMATION 또는 PROCESS_QUERY_LIMITED_INFORMATION 액세스 권한이 있어야 합니다. 자세한 내용은 프로세스 보안 및 액세스 권한을 참조하세요.

Windows Server 2003 및 Windows XP: 핸들에는 PROCESS_QUERY_INFORMATION 액세스 권한이 있어야 합니다.

[out] lpMinimumWorkingSetSize

지정된 프로세스의 최소 작업 집합 크기를 바이트 단위로 받는 변수에 대한 포인터입니다. 가상 메모리 관리자는 프로세스가 활성화 될 때마다 프로세스에 적어도이 많은 메모리를 유지하려고 시도합니다.

[out] lpMaximumWorkingSetSize

지정된 프로세스의 최대 작업 집합 크기를 바이트 단위로 받는 변수에 대한 포인터입니다. 가상 메모리 관리자는 메모리가 부족할 때 프로세스가 활성 상태일 때마다 프로세스에 이 많은 메모리를 유지하려고 합니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

프로세스의 "작업 집합"은 현재 실제 RAM 메모리의 프로세스에 표시되는 메모리 페이지 집합입니다. 이러한 페이지는 상주 하며 페이지 오류를 일으키지 않고 애플리케이션에 사용할 수 있습니다. 최소 및 최대 작업 세트 크기는 프로세스의 가상 메모리 페이징 동작에 영향을 줍니다.

예제

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    SIZE_T  dwMin, dwMax;
    HANDLE hProcess;

    if (argc != 2)
    {
        printf("This program requires a process ID as an argument.\n");
        return 1;
    }

    // Retrieve a handle to the process.

    hProcess = OpenProcess( PROCESS_QUERY_INFORMATION, 
                            FALSE, atoi(argv[1]));
     if (!hProcess)
    {
        printf( "OpenProcess failed (%d)\n", GetLastError() );
        return 1;
    }

    // Retrieve the working set size of the process.

    if (!GetProcessWorkingSetSize(hProcess, &dwMin, &dwMax))
    {
        printf("GetProcessWorkingSetSize failed (%d)\n",
            GetLastError());
        return 1;
    }

    printf("Process ID: %d\n", atoi(argv[1]));
    printf("Minimum working set: %lu KB\n", dwMin/1024);
    printf("Maximum working set: %lu KB\n", dwMax/1024);

    CloseHandle(hProcess);

    return 0;
}

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 memoryapi.h
라이브러리 onecore.lib
DLL Kernel32.dll

참고 항목

프로세스 작업 집합

프로세스

SetProcessWorkingSetSize 함수

SetProcessWorkingSetSizeEx 함수