현재 메모리 정보 얻어오기
[ 메모리 정보 얻어오기 ]
메모리를 자주 사용하는 프로그램의 경우, out of memory를 일으키지 않도록 하기위해, 메모리를 체크해야합니다. 꼭 이럴 경우가 아니더라도, 기본적으로, 메모리의 이용은 어플리케이션의 부피가 커질수록 문제가 되겠죠. 여기서 API함수를 이용하여, 메모리의 상태를 얻어오는 방법을 알아보겠습니다.
먼저 사용될 API함수와 그 구조를 알아봅시다.
void WINAPI GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer);
MEMORYSTATUS는 아래와 같은 구조를 갖게 됩니다.
DWORD |
dwLength |
32 고정 |
DWORD |
dwMemoryLoad |
사용할수 있는 메모리비율 |
DWORD |
dwTotalPhys |
물리적 메모리양 |
DWORD |
dwAvailPhys |
물리적 사용가능한 메모리양 |
DWORD |
dwTotalPageFile |
가상 메모리양 |
DWORD |
dwAvailPageFile |
가상 사용가능한 메모리양 |
DWORD |
dwTotalVirtual |
전체(물리,가상) 메모리양 |
DWORD |
dwAvailVirtual |
전체(물리,가상) 사용가능한 메모리양 |
그러므로, 아래와 같이 코딩을 하면, 현재 상태의 메모리를 체크할 수 있습니다.
MEMORYSTATUS memoryStatus;
GlobalMemoryStatus(&memoryStatus);
CString memoryInfo;
memoryInfo.Format("%uBYTE 전체 메모리사용가능", memoryStatus.dwAvailVirtual);
'C & C++ > C & C++' 카테고리의 다른 글
MS Office 엑셀 오토메이션 (Excel Automation) (0) | 2011.11.21 |
---|---|
도스명령어(command) 얻기 (0) | 2011.11.17 |
윈도우 부팅모드 알아내기 (0) | 2011.11.17 |
CPU정보 얻어오기 (0) | 2011.11.17 |
API함수를 이용한 바탕화면 바꾸기 (0) | 2011.11.17 |
댓글