이 글에서는 Windows 10/8/7에서 크래시 덤프 파일에 적용되는 물리적 메모리 제한을 살펴보고, 시스템의 물리적 메모리 범위 개수를 확인할 수 있는 Microsoft Sysinternals 도구인 RamMap 사용법까지 함께 소개합니다.
크래시 덤프 파일의 물리적 메모리 제한이란?
모든 Windows 운영체제는 시스템 충돌이나 블루스크린(STOP 오류)과 같은 치명적인 오류가 발생했을 때 시스템 상태 정보를 자동으로 수집하여 .dmp 확장자를 가진 크래시 덤프 파일로 저장하도록 설정되어 있습니다. 시스템 충돌 시 캡처할 수 있는 덤프 유형은 다음 세 가지입니다.
- 전체 메모리 덤프(Complete Memory Dump)
- 커널 메모리 덤프(Kernel Memory Dump)
- 작은 메모리 덤프(Small Memory Dump)
그런데 크래시 덤프 형식에는 구조적인 한계가 있습니다. 바로 저장할 수 있는 물리적 주소 범위가 64비트 시스템에서는 최대 42개, 32비트 시스템에서는 최대 86개로 제한된다는 점입니다. 일부 시스템에서는 BIOS 펌웨어의 메모리 맵이 이 숫자보다 더 많은 비연속(non-contiguous) 메모리 영역을 포함하는 경우가 있습니다. 이런 시스템에서 덤프 파일이 생성되면 처음 42개(64비트) 또는 86개(32비트)의 메모리 영역만 파일에 저장되며, 그 결과 커널 메모리 덤프나 전체 메모리 덤프라 하더라도 시스템의 모든 메모리 내용이 담기지 않을 수 있습니다.
덤프 분석 시 나타나는 경고 메시지
특정 시스템에서 생성된 메모리 덤프 파일을 Windows용 디버깅 도구(WinDbg, windbg.exe)로 열 때 다음과 같은 경고 메시지가 표시될 수 있습니다.
WARNING: Dump header physical memory block has been truncated. Some valid physical pages may be inaccessible.
(경고: 덤프 헤더의 물리적 메모리 블록이 잘렸습니다. 일부 유효한 물리적 페이지에 접근하지 못할 수 있습니다.)
Microsoft 지식 문서 KB2510168에 따르면, 이 문제를 방지하려면 해당 시스템의 OEM(제조사)이 펌웨어 메모리 맵을 수정하여 운영체제에 노출되는 연속된 물리적 메모리 영역의 개수가 앞서 언급한 제한을 초과하지 않도록 해야 합니다.
Sysinternals RamMap으로 물리적 메모리 범위 확인하기
RamMap은 시스템의 물리적 메모리 범위 개수를 확인할 수 있는 대표적인 Sysinternals 유틸리티입니다. RamMap.exe를 다운로드하여 실행한 후 [Physical Ranges] 탭을 클릭하면 나열된 범위의 개수를 세어 해당 시스템의 물리적 메모리 범위 수를 손쉽게 검증할 수 있습니다.
RamMap은 Windows Vista 이상에서 사용할 수 있는 고급 물리적 메모리 사용량 분석 도구로, 여러 탭을 통해 다양한 관점에서 메모리 정보를 제공합니다.
- Use Counts: 유형 및 페이징 목록별 사용 요약
- Processes: 프로세스별 워킹 셋(working set) 크기
- Priority Summary: 우선순위별 대기 목록(standby list) 크기
- Physical Pages: 전체 물리적 메모리의 페이지별 사용 현황
- Physical Ranges: 물리적 메모리 주소 범위
- File Summary: 파일별 RAM에 캐시된 데이터 요약
- File Details: 파일별 개별 물리적 페이지 정보

RamMap을 활용하면 Windows가 메모리를 어떻게 관리하는지 이해하고, 응용 프로그램의 메모리 사용 패턴을 분석하거나, RAM이 실제로 어떻게 할당되고 있는지 등 구체적인 궁금증을 해결할 수 있습니다. 예를 들어 Windows가 물리적 메모리를 어떤 방식으로 배분하는지, 파일 데이터가 RAM에 얼마나 캐시되어 있는지, 커널과 장치 드라이버가 사용 중인 RAM의 양은 어느 정도인지 등을 명확하게 파악할 수 있습니다.
함께 보면 좋은 관련 자료
- Windows 머신 메모리 덤프 수집기(Machine Memory Dump Collector)
- Windows의 물리적 메모리 할당 및 메모리 상태 확인 방법