윈도우 메모리 덤프란? (수집 방법)

메모리 덤프란 특정 시점에 컴퓨터의 메모리 상태를 기록한 파일입니다. 컴퓨터가 강제 종료되는 등의 이벤트가 발생했을 때 생성하며 문제의 원인을 찾는 단서로 활용됩니다. 

운영체제 실행모드

메모리 덤프를 이해하기 위해서는 먼저 운영체제의 실행 모드에 대해 알아야 합니다. 과거엔 컴퓨터 메모리 크기가 아주 작아서 컴퓨터와 사용자 프로그램 간 충돌이 잦았다고 합니다. 이런 이유로 컴퓨터를 프로그램으로부터 보호하기 위한 운영체제 실행 모드를 개발할 필요가 있었습니다. 결국 운영체제는 커널 모드유저 모드 2가지 실행 모드를 갖게 됐습니다.

커널 모드

커널(Kernel)은 '핵심'이라는 뜻을 가지고 있습니다. 컴퓨터에서도 마찬가지 의미로 쓰입니다. 커널은 운영체제 시스템이 작동되기 위한 핵심 프로그램입니다. CPU, 메모리 등 하드웨어에 접근하는 사용자 프로그램을 통제합니다. 프로그램이 마음대로 하드웨어에 접근할 수 없도록 막고 메모리와 프로세스를 관리하는 것이죠. 그러니 커널 모드라는 것은 하드웨어에 마음껏 액세스 할 수 있는 실행 모드를 의미합니다. 시스템 모드라고도 불립니다.

유저 모드

반면 유저 모드는 CPU와 메모리에 접근 권한이 제한되어 있는 실행모드입니다. 시스템 영역에는 접근할 수 없고 개별 프로그램 및 데이터 영역에 접근이 가능한 실행 모드입니다. 평소 사용자가 애플리케이션을 이용하는 게 유저모드 영역에서 이루어진다고 볼 수 있습니다.

덤프 파일

덤프 파일은 시스템에 충돌이 발생했을 때 생성됩니다. 이때 생성된 덤프 파일은 원인 파악을 위한 단서가 됩니다. 때문에 장애 발생 시 유용하게 활용됩니다. 덤프 파일의 확장자는 .dmp입니다.

메모리 덤프

커널 모드에서 발생한 덤프 파일을 커널모드 덤프 파일이라고 부릅니다. 메모리 덤프는 크게 5가지로 구분됩니다. 이걸 모두 알아야 할까 싶은 생각도 들지만, 원하는 형태의 덤프를 수집하기 위해 알아둘 필요가 있습니다. 

  • 전체 메모리 덤프 : 커널 모드와 유저 모드 메모리 덤프를 포함한 전체 메모리 덤프 파일입니다. 보통 생성시 GB 단위로 저장되며 메모리 덤프 종류 중 가장 용량이 큽니다. 그만큼 정보가 많다는 의미이기도 합니다.
  • 커널 메모리 덤프 : 커널에서 사용 중인 모든 메모리 덤프가 포함됩니다. 다만 유저모드 애플리케이션에 할당된 메모리는 포함되지 않습니다.
  • 작은 메모리 덤프 : 64kb 크기의 작은 덤프 파일입니다. 충돌한 프로세스에 대한 정보와 로드된 모듈 등을 알려줍니다.
  • 자동 메모리 덤프 : 커널 메모리 덤프와 동일한 데이터가 저장됩니다. 단지 덤프 파일의 크기를 결정하는 방법이 조금 다릅니다.
  • 활성 메모리 덤프 : 전체 메모리 덤프와 유사합니다. 다만 컴퓨터 문제 해결과 관련 없는 데이터를 필터링해서 보여줍니다.

메모리 덤프 수집 방법

1. 제어판을 실행해서 시스템을 선택합니다. 혹시 시스템이 안 보이시면 우측 상단 보기 기준작은 아이콘으로 변경하면 보이실 겁니다.

2. 고급 시스템 설정을 선택하고 고급 탭을 누릅니다.

3. 시작 및 복구 영역에서 위에 언급한 5가지 메모리 덤프 중 수집을 원하는 형태를 선택합니다.

4. 설정을 완료하고 컴퓨터를 재시작합니다. 설정을 마치면 재시작해야 한다는 알람창이 나타날 겁니다.

5. 윈도우에서 메모리 덤프는 시스템 충돌이 발생하면 자동으로 지정된 경로에 생성됩니다. 지정된 경로는 메모리 덤프 종류를 선택한 고급 시스템 설정 > 고급 탭에서 확인할 수 있습니다. 기본 경로는 %SystemRoot%\Memory.dmp입니다. 

반응형

댓글

Designed by JB FACTORY