http://blog.naver.com/silver6688/60047045316
VOID GlobalMemoryStatus(
LPMEMORYSTATUS lpBuffer // pointer to the memory status structure
);
MEMORYSTATUS의 구조체를 보면
typedef struct _MEMORYSTATUS {
DWORD dwLength; //구조체 크기
DWORD dwMemoryLoad; //메모리 사용률
SIZE_T dwTotalPhys; //전체 메모리
SIZE_T dwAvailPhys; //사용한 메모리
SIZE_T dwTotalPageFile;
SIZE_T dwAvailPageFile;
SIZE_T dwTotalVirtual; //총가상메모리
SIZE_T dwAvailVirtual; //사용한 가상 메모리
} MEMORYSTATUS, *LPMEMORYSTATUS;
라고 되어 있습니다.
MEMORYSTATUS ms;
GlobalMemoryStatus(&ms);
ms.dwTotalPhys - ms.dwAvailPhys
ex)
MEMORYSTATUSEX memStatus;
memset( &memStatus, 0, sizeof( MEMORYSTATUSEX ) );
memStatus.dwLength = sizeof( MEMORYSTATUSEX );
GlobalMemoryStatusEx( &memStatus );
char szPhysicalMemory[MAX_PATH] = _T("");
sprintf( szPhysicalMemory, "메모리 용량 : %ld Mbytes", memStatus.ullTotalPhys / MEMORY_DIVIDER / MEMORY_DIVIDER );
m_ctrSystemTree.SetInsertItem( hParent, szPhysicalMemory );
char szVirtualMemory[MAX_PATH] = _T("");
sprintf( szVirtualMemory, "가상 메모리 : %ld Mbytes", memStatus.ullTotalVirtual / MEMORY_DIVIDER / MEMORY_DIVIDER );
m_ctrSystemTree.SetInsertItem( hParent, szVirtualMemory );
char szPagingMemory[MAX_PATH] = _T("");
sprintf( szPagingMemory, "페이징 파일 최대크기 : %ud", memStatus.ullTotalPageFile );
m_ctrSystemTree.SetInsertItem( hParent, szPagingMemory );
'운영체제 & 병렬처리 > 시스템프로그래밍' 카테고리의 다른 글
윈도우 힙 || CRT 힙 (0) | 2013.09.27 |
---|---|
HeapSetInformation 메모리 풀 (0) | 2013.09.27 |
작업 관리자 메모리 열의 의미 (0) | 2013.09.17 |
TLS - 스레드 지역 기억장소 (Thread Local Storage) 공간 (0) | 2013.05.26 |
WaitForSingleObject 함수 (0) | 2012.12.27 |