Tech_Info/OS2006. 6. 15. 17:20
Windows 2000은 2GB와 4GB 사이의 메모리를 완전히 덤프할 수 없다

현상
Microsoft Windows 2000 기반 서버는 2GB와 4GB 사이의 메모리를 완전히 덤프할 수 없습니다. 디버깅 정보 쓰기 구역에서 사용할 수 있는 유일한 옵션은 작은 메모리 덤프 (64KB)와 커널 메모리 덤프입니다. 전체 메모리 덤프 옵션은 나타나지 않습니다.

해결 방법
이 동작을 해결하려면 다음 두 방법 중 하나를 수행할 수 있습니다.
  1. Boot.ini 파일에 MaxMem=2000 매개 변수를 설정하여 Windows 2000이 액세스할 수 있는 메모리 양을 제한합니다.
  2. Windows 2000 기반 서버가 작은 메모리 덤프 옵션이나 커널 메모리 덤프 옵션을 만들도록 명령합니다.
덤프를 못하는군 ^^; 2GB이상일 경우에는 전체 메모리 덤프는 안된다.

Link : http://support.microsoft.com/kb/274598/

Posted by 알 수 없는 사용자
Tech_Info/OS2006. 6. 15. 13:09
원본링크 : http://support.microsoft.com/default.aspx?scid=kb;ko;254649#appliesto

Windows 2000, Windows XP 및 Windows Server 2003의 메모리 덤프 파일 옵션에 대한 개요

요약
중지 오류("블루 스크린", 시스템 충돌 또는 버그 확인이라고도 함)가 발생하여 컴퓨터가 예기치 않게 중지되면 세 가지 다른 파일 형식("메모리 덤프" 파일이라고도 함)에 디버깅 정보를 기록하도록 Microsoft Windows 2000, Microsoft Windows XP 및 Microsoft Windows Server 2003을 구성할 수 있습니다. 또한 메모리 덤프 파일에 디버깅 정보를 기록하지 않도록 Windows를 구성할 수도 있습니다. Windows는 다음 세 가지 메모리 덤프 파일 형식 중 하나를 생성할 수 있습니다.
전체 메모리 덤프
커널 메모리 덤프
작은 메모리 덤프(64KB)

추가 정보

전체 메모리 덤프

전체 메모리 덤프는 컴퓨터가 예기치 않게 중지될 때 시스템 메모리의 모든 내용을 기록합니다. 전체 메모리 덤프 옵션을 선택하는 경우 모든 실제 RAM 크기에 1MB를 더한 크기의 페이징 파일이 부팅 볼륨에 있어야 합니다. 기본적으로 전체 메모리 덤프 파일은 %SystemRoot%\Memory.dmp 파일에 기록됩니다.

두 번째 문제가 발생하고 다른 전체 메모리 덤프(또는 커널 메모리 덤프) 파일이 만들어지면 이전 파일을 덮어쓰게 됩니다.

참고전체 메모리 덤프 옵션은 2GB 이상의 RAM이 설치된 컴퓨터에서는 사용할 수 없습니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
274598 (http://support.microsoft.com/kb/274598/) Windows 2000은 2GB와 4GB 사이의 메모리를 완전히 덤프할 수 없다

커널 메모리 덤프

커널 메모리 덤프는 커널 메모리만 기록합니다. 컴퓨터가 예기치 않게 중지될 때 로그에 정보를 기록하는 프로세스의 속도가 향상됩니다. 컴퓨터의 RAM에 따라 부팅 볼륨에서 50MB-800MB를 페이징 파일로 사용할 수 있거나 컴퓨터의 실제 메모리 크기의 1/3을 사용할 수 있어야 합니다.

이 덤프 파일은 할당되지 않은 메모리나 사용자 모드 프로그램에 할당된 메모리는 포함하지 않습니다. 여기에는 Windows 2000 이상에서 커널과 HAL(하드웨어 추상화 계층)에 할당된 메모리와 커널 모드 드라이버 및 기타 커널 모드 프로그램에 할당된 메모리만 포함됩니다. 대개의 경우 이 덤프 파일이 가장 유용합니다. 이 파일은 전체 메모리 덤프보다 상당히 작지만 문제와 관련이 없는 메모리 부분만 생략됩니다. 기본적으로 커널 메모리 덤프 파일은 %SystemRoot%\Memory.dmp 파일에 기록됩니다.

두 번째 문제가 발생하고 다른 커널 메모리 덤프 파일(또는 전체 메모리 덤프 파일)이 만들어지면 이전 파일을 덮어쓰게 됩니다.

작은 메모리 덤프

작은 메모리 덤프는 컴퓨터가 예기치 않게 중지된 이유를 확인할 수 있는 최소한의 유용한 정보를 기록합니다. 이 옵션을 사용하려면 부팅 볼륨에 2MB 이상의 페이징 파일이 있어야 하며 Windows 2000 이상에서 컴퓨터가 예기치 않게 중지될 때마다 새 파일을 만들도록 지정합니다. 이러한 파일의 기록은 폴더에 저장됩니다.

이 덤프 파일 유형은 다음 정보를 포함합니다.
중지 메시지와 매개 변수 및 기타 데이터
로드된 드라이버 목록
중지된 프로세서에 대한 프로세서 컨텍스트(PRCB)
중지된 프로세스에 대한 프로세스 정보 및 커널 컨텍스트(EPROCESS)
중지된 스레드에 대한 프로세스 정보 및 커널 컨텍스트(ETHREAD)
중지된 스레드에 대한 커널 모드 호출 스택
이런 유형의 덤프 파일은 공간이 제한되어 있을 때 유용할 수 있습니다. 그러나 포함된 정보가 제한되어 있기 때문에 문제가 발생했을 때 실행 중인 스레드가 직접적인 원인이 아닌 오류는 이 파일을 분석하여 발견할 수 없습니다.

두 번째 문제가 발생하고 두 번째 작은 메모리 덤프 파일이 만들어지는 경우에도 이전 파일은 보존됩니다. 각 추가 파일에는 고유한 이름이 지정됩니다. 데이터가 파일 이름으로 인코딩되어 표시됩니다. 예를 들어 Mini022900-01.dmp는 2000년 2월 29일에 생성된 첫 번째 메모리 덤프입니다. 모든 작은 메모리 덤프 파일 목록은 %SystemRoot%\Minidump 폴더에 저장됩니다.

덤프 유형 구성

시작 및 복구 옵션(덤프 유형 포함)을 구성하려면 다음 단계를 수행하십시오.

참고 Microsoft Windows 버전이 다양하므로 사용하는 컴퓨터에 따라 아래 단계가 다를 수도 있습니다. 이러한 경우에는 해당 제품 설명서를 참조하여 아래 절차를 완료하십시오.
1.시작을 누르고 설정을 가리킨 다음 제어판을 누릅니다.
2.시스템을 두 번 누릅니다.
3.고급 탭에서 시작 및 복구를 누릅니다.

다양한 덤프 유형에 사용하는 도구

표준 기호 디버거(예: I386kd.exe)를 사용하여 전체 메모리 덤프와 커널 메모리 덤프를 로드할 수 있습니다. I386kd.exe는 Windows 2000 CD-ROM의 지원 도구에 포함되어 있습니다.

Dumpchk.exe를 사용하여 작은 메모리 덤프를 로드합니다. Dumpchk.exe는 Windows 2000 및 Windows XP용 지원 도구에 포함되어 있습니다. Dumpchk.exe를 사용하여 메모리 덤프 파일이 올바르게 만들어졌는지 확인할 수도 있습니다. Windows XP에서 Dumpchk.exe를 사용하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
315271 (http://support.microsoft.com/kb/315271/) Dumpchk.exe를 사용하여 메모리 덤프 파일을 검사하는 방법
Windows 2000에서 Dumpchk.exe를 사용하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
156280 (http://support.microsoft.com/kb/156280/) Dumpchk.exe를 사용하여 메모리 덤프 파일을 검사하는 방법
Windows 디버깅 도구에 대한 자세한 내용을 보려면 다음 Microsoft 웹 사이트를 방문하십시오.
http://www.microsoft.com/whdc/ddk/debugging/default.mspx (http://www.microsoft.com/whdc/ddk/debugging/default.mspx)

정의

부팅 볼륨: 이 볼륨에는 Windows 운영 체제 및 지원 파일이 포함되어 있습니다. 부팅 볼륨은 시스템 볼륨과 같을 수 있지만 반드시 같아야 할 필요는 없습니다.
시스템 볼륨: Windows를 로드하려면 있어야 하는 하드웨어 관련 파일이 들어 있는 볼륨입니다. 시스템 볼륨은 부팅 볼륨과 같을 수 있지만 반드시 같아야 할 필요는 없습니다. Boot.ini, Ntdetect.com 및 Ntbootdd.sys 파일은 시스템 볼륨에 있는 파일의 예입니다.

시작 및 복구를 위한 레지스트리 값

다음 레지스트리 값이 사용됩니다.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl

CrashDumpEnabled REG_DWORD 0x0 = 없음
CrashDumpEnabled REG_DWORD 0x1 = 전체 메모리 덤프
CrashDumpEnabled REG_DWORD 0x2 = 커널 메모리 덤프
CrashDumpEnabled REG_DWORD 0x3 = 작은 메모리 덤프(64KB)
CrashControl의 추가 레지스트리 값
0x0 = 사용 안함
0x1 = 사용

AutoReboot REG_DWORD 0x1
DumpFile REG_EXPAND_SZ %SystemRoot%\Memory.dmp
LogEvent REG_DWORD 0x1
MinidumpDir REG_EXPAND_SZ %SystemRoot%\Minidump
Overwrite REG_DWORD 0x1
SendAlert REG_DWORD 0x1

덤프 파일을 만들 수 있도록 테스트

테스트 목적으로 덤프 파일을 생성하도록 컴퓨터를 구성하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
244139 (http://support.microsoft.com/kb/244139/) Windows 기능을 사용하면 Memory.dmp 파일을 키보드로 생성할 수 있다

기본 덤프 유형 옵션

Windows 2000 Professional 작은 메모리 덤프(64KB)
Windows 2000 Server: 전체 메모리 덤프
Windows 2000 Advanced Server: 전체 메모리 덤프
Windows XP(Professional 및 Home Edition): 작은 메모리 덤프(64KB)
Windows Server 2003(모든 버전): 전체 메모리 덤프

최대 페이징 파일 크기

최대 페이징 파일 크기에 대한 제한은 다음과 같습니다.
x86x64IA-64
최대 페이징 파일 크기4GB16테라바이트32테라바이트
최대 페이징 파일 수161616
총 페이징 파일 크기64GB256테라바이트512테라바이트

간략 정리 :
메모리 덤프를 받으려면 지정된 볼륨에 필요한 만큼의 용량이 필요
전체/커널 메모리 덤프는 두번째 발생할 경우 덮어씀
%SystemRoot%\Memory.dmp
작은 메모리 덤프는 쓸때마다 새 파일을 생성함
%SystemRoot%\Minidump
ex) Mini022900-01.dmp는 2000년 2월 29일에 생성된 첫 번째 메모리 덤프

I386kd.exe (WIN2K CDROM Support Tools) - 전체/커널 메모리 덤프 로드
Dumpchk (WIN2K/WINXP CDROM Support Tools) - 작은 메모리 덤프
WIN2K - http://support.microsoft.com/kb/156280/
WINXP - http://support.microsoft.com/kb/315271/

사실상 덤프 받아봐야 분석하는데 엄청오래걸리고, MS랑 계약도 맺어져 있는 상황이라야 하기때문에
잘 설정하지 않는다. 특히 분석이 필요없는 서버인데, Dump 설정을 해놓을 경우, 장애발생시 Reboot 시간이 길어지거나 문제가 생겨서, 오히려 장애를 만들수도 있다. ^^

Posted by 알 수 없는 사용자