본문 바로가기

벌새::Computer & IT

2GB 용량 이상의 메모리 덤프 파일 생성 방법

블루 스크린(BSoD)와 같은 문제로 인하여 메모리 덤프 파일이 생성될 경우 Windows 기본값에서는 "커널 메모리 덤프" 방식으로 메모리 덤프 파일(%SystemRoot%\MEMORY.DMP)을 작성합니다.

 

하지만 테스트 목적으로 전체 메모리 덤프 파일이 필요한 경우 어떤 설정을 통해 덤프 파일을 만들 수 있는지 알아보도록 하겠습니다.

 

해당 내용은 마이크로소프트(Microsoft)사에서 제공하는 "How to generate a kernel or a complete memory dump file in Windows Server 2008 and Windows Server 2008 R2" 내용을 기반으로 작성되었으므로 참고하시기 바랍니다.

 

테스트 환경은 Windows 7 32비트 운영 체제에서 4GB 메모리를 사용하는 PC를 기준으로 작성되었습니다.

 

1. 가상 메모리 설정 변경하기 

바탕 화면에 있는 "컴퓨터" 아이콘에 마우스 우클릭을 하여 생성된 하위 메뉴 중 "속성" 항목을 클릭하시기 바랍니다. 

생성된 "제어판 → 시스템 및 보안 → 시스템" 항목 중 "고급 시스템 설정" 메뉴를 클릭하시기 바랍니다. 

생성된 "시스템 속성" 창의 "고급" 탭에서 "성능 → 설정" 버튼을 클릭하시기 바랍니다. 

생성된 "성능 옵션" 창의 "고급" 탭에서 "가상 메모리 → 변경" 버튼을 클릭하시기 바랍니다. 

생성된 "가상 메모리" 창에서 "모든 드라이브에 대한 페이징 파일 크기 자동 관리"의 체크를 해제한 후, "사용자 지정 크기" 항목에 체크를 하신 후 처음 크기와 최대 크기를 "4100"으로 변경하여 설정하시기 바랍니다.

 

참고로 사용자 지정 크기는 사용자 PC에 장착된 "물리적 메모리 용량 + 1MB"를 최소한 입력해야 합니다.

 

모든 설정이 완료되면 Windows에서는 재부팅을 요구하므로 반드시 시스템 재부팅을 진행하시기 바랍니다.

 

2. "CrashDumpEnabled" 레지스트리 값 수정하기

 

시스템 재부팅이 완료된 후에는 레지스트리 편집기(regedit)를 실행하여 다음의 값을 변경하시기 바랍니다. 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
 - CrashDumpEnabled = 2
:: 변경 전
 - CrashDumpEnabled = 1 :: 변경 후

제시된 값으로 변경이 이루어진 후에는 다시 한 번 시스템 재부팅을 통해 설정을 적용하시기 바랍니다.

 

참고로 해당 레지스트리 값 수정은 수동으로 "전체 메모리 덤프" 옵션을 활성화할 수 있는 방법이므로, 아래의 3번 항목을 통해 "전체 메모리 덤프" 옵션을 활성화할 수 없는 경우에 이용하시기 바랍니다.

 

3. "전체 메모리 덤프"로 디버깅 정보 쓰기 변경하기 

시스템 재부팅 후 "고급 시스템 설정 → 시스템 속성 → 고급" 탭에서 "시작 및 복구 → 설정" 버튼을 클릭하시기 바랍니다. 

생성된 "시작 및 복구" 창에서 "디버깅 정보 쓰기" 항목의 스크롤바를 살펴보면 Windows 기본값에서 표시되지 않던 "전체 메모리 덤프" 항목이 생성되어 있으므로 해당 값으로 변경하시고 적용하시면 됩니다.(※ 기본적으로 "전체 메모리 덤프" 옵션은 비활성화되어 있으며, 물리적 메모리 용량이 2GB 이상인 경우에는 "전체 메모리 덤프" 옵션을 활성화할 수 있습니다.) 

마지막으로 PC를 이용하는 과정에서 시스템 오류 등의 문제로 덤프 파일이 생성된 경우에는 "C:\Windows\MEMORY.DMP" 파일로 생성되므로 해당 파일을 수집하여 활용하시면 됩니다.

 

위와 같은 설정으로 인하여 주의할 점은 2GB 이상의 메모리 덤프 파일을 작성할 경우 시스템 시작시 하드 디스크의 속도에 따라 더 많은 시간이 소요될 수 있다는 점입니다.