MEMORYSTATUSEX 구조체(sysinfoapi.h)

확장 메모리를 포함하여 물리적 메모리와 가상 메모리의 현재 상태에 대한 정보를 포함합니다. GlobalMemoryStatusEx 함수는 이 구조체에 정보를 저장합니다.

구문

typedef struct _MEMORYSTATUSEX {
  DWORD     dwLength;
  DWORD     dwMemoryLoad;
  DWORDLONG ullTotalPhys;
  DWORDLONG ullAvailPhys;
  DWORDLONG ullTotalPageFile;
  DWORDLONG ullAvailPageFile;
  DWORDLONG ullTotalVirtual;
  DWORDLONG ullAvailVirtual;
  DWORDLONG ullAvailExtendedVirtual;
} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;

멤버

dwLength

구조체의 크기(바이트)입니다. 호출하기 전에 이 멤버를 설정해야 합니다.
GlobalMemoryStatusEx.

dwMemoryLoad

사용 중인 실제 메모리의 대략적인 백분율을 지정하는 0에서 100 사이의 숫자입니다(0은 메모리 사용 없음을 나타내고 100은 전체 메모리 사용을 나타냅니다).

ullTotalPhys

실제 실제 메모리 양(바이트)입니다.

ullAvailPhys

현재 사용 가능한 실제 메모리 양(바이트)입니다. 이 크기는 콘텐츠를 디스크에 먼저 쓸 필요 없이 즉시 재사용할 수 있는 실제 메모리의 양입니다. 대기, 무료 및 0 목록 크기의 합계입니다.

ullTotalPageFile

시스템 또는 현재 프로세스에 대한 현재 커밋된 메모리 제한 중 더 작은 메모리 제한(바이트)입니다. 시스템 차원의 커밋된 메모리 제한을 얻으려면 GetPerformanceInfo를 호출합니다.

ullAvailPageFile

현재 프로세스에서 커밋할 수 있는 최대 메모리 양(바이트)입니다. 이 값은 시스템 전체에서 사용할 수 있는 커밋 값과 같거나 작습니다. 시스템 전체에서 사용할 수 있는 커밋 값을 계산하려면 GetPerformanceInfo를 호출하고 CommitLimit 값에서 CommitTotal 값을 뺍니다.

ullTotalVirtual

호출 프로세스의 가상 주소 공간의 사용자 모드 부분 크기(바이트)입니다. 이 값은 프로세스 유형, 프로세서 유형 및 운영 체제 구성에 따라 달라집니다. 예를 들어 이 값은 x86 프로세서의 대부분의 32비트 프로세스에 대해 약 2GB이고, 4기가바이트 튜닝 이 사용하도록 설정된 시스템에서 실행되는 큰 주소를 인식하는 32비트 프로세스의 경우 약 3GB입니다.

ullAvailVirtual

호출 프로세스의 가상 주소 공간의 사용자 모드 부분에 있는 예약되지 않은 메모리 및 커밋되지 않은 메모리의 양(바이트)입니다.

ullAvailExtendedVirtual

예약되어 있습니다. 이 값은 항상 0입니다.

설명

MEMORYSTATUSEX 는 호출 시 메모리 상태를 반영합니다. 또한 해당 시간에 페이징 파일의 크기를 반영합니다. 운영 체제는 페이징 파일을 관리자가 설정한 최대 크기까지 확대할 수 있습니다.

반환되는 실제 메모리 크기에는 모든 노드의 메모리가 포함됩니다.

예제

예제는 GlobalMemoryStatusEx 함수를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 sysinfoapi.h(Windows.h 포함)

추가 정보

GlobalMemoryStatusEx

메모리 성능 정보