如何在 Windows Server 2003 中生成核心转储文件或完全内存转储文件

文章翻译 文章翻译
文章编号: 972110 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

简介

本文分步介绍了如何生成,收集、 检查和分析内核转储文件和完成核心内存转储文件从基于 Windows Server 2003 的系统。

注意理想情况下,您应当只生成此类转储文件Microsoft 客户支持服务工程师明确要求您执行此操作。应为内核转储文件调试或完全内存转储文件调试最后一招后所有标准的故障排除方法已用完。

如果您必须联系 Microsoft 客户支持和服务(CSS),这篇文章将帮助您获取的特定信息所需的 CSS,以标识问题。

您必须以登录管理员或管理员组的成员来完成这过程。如果您的计算机连接到网络,则网络策略设置可能会阻止您完成此过程。手动内核转储文件或完全存储器转储文件非常有用,因为几个问题进行故障排除时进程时捕获的系统内存的记录崩溃。

警告具体取决于 Windows 的硬盘的速度安装,将多个 2 gb 的内存转储可能需要很长时间。当您启动转储文件的创建过程的物理内存的内容位于页面文件所在的分区上写入安装操作系统。

当您重新启动计算机,分页文件的内容被写入转储文件。即使在最佳情况下方案中,驻留在另一个本地硬盘上的配置转储文件的位置读取和写入硬盘的磁盘,大量的数据。这可能会导致由于无法长时间服务器停机。 有关详细信息信息,请单击下面的文章编号,以查看在文章微软知识文库:
254649Windows Vista、 Windows Server 2008,Windows Server 2003、 Windows XP 和 Windows 2000 的内存转储文件选项概述

更多信息

页面文件

通常情况下,为 Windows 服务器的常规功能基于 2003年的系统,您在服务器上设置的页面文件大小。 有关详细信息确定适当的页面文件大小,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
889654 如何确定合适的页面文件大小为 64 位版本的 Windows Server 2003 或 Windows XP
具体取决于哪种类型的内存转储文件您正在尝试收集,页面文件的最小大小不同而不同。窗口服务器 2003年有三个内存转储文件的选项:
  • 小内存转储 (64 KB 的 32 位操作系统,128所占容量为 64 位操作系统)

    注意当您使用此选项时,您可能会遇到的问题下面的 Microsoft 知识库文章中所述:
    900229 打开所生成的 64 位版本的 Windows Server 2003 或 Windows XP 专业版"微型核心转储"的文件时,您可能会收到一条错误消息
  • 核心内存转储
  • 完全存储器转储
若要启用完全内存转储文件在服务器上的,请按照以下步骤。

步骤 1: 创建页面文件

  1. 单击 启动用鼠标右键单击 我计算机然后单击 属性.
  2. 单击 高级 选项卡。
  3. 单击 设置 在下性能 区域。
  4. 单击 高级 选项卡,然后单击更改 在下 虚拟内存区域。
  5. 选择操作系统所在的系统分区安装。
  6. 设置的值 初始大小最大大小 安装了多少物理 ram 加 1在下面的兆字节 (MB) 自定义大小.
  7. 单击 设置然后单击确定 三次。

分区大小

在 Windows Server 2003 或早期版本的 Windows 中,安装了操作系统的分区必须具有最小大小已安装的物理 RAM 的数量加 1 兆字节 (MB)。 Windows Server 2003 中,您可能不得不减少物理要生成完全内存转储文件的有效的计算机的内存。如果计算机有多个 4 GB 的物理内存或如果没有足够的磁盘空间用于分页文件上的分区的操作系统已安装,您可能需要降低计算机的物理 RAM。若要减少物理内存的计算机上,Boot.ini 文件中使用最大burnmemory开关,如下面的 TechNet 中所述或基于 MSDN 的文章:

Boot.ini 选项参考:
http://technet.microsoft.com/en-us/sysinternals/bb963892.aspx
控制内存的引导参数:
http://msdn.microsoft.com/en-us/library/ms791501.aspx
有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识中的文章基址:
833721 Windows XP 和 Windows 服务器 2003 Boot.ini 文件的可用开关选项
重要此部分、 方法或任务包含步骤将告诉您如何为修改注册表。然而,可能发生严重的问题,如果您修改注册表不正确。因此,请确保您按照这些步骤仔细。然后,备份注册表之前对其进行修改。然后,您可以在出现问题时还原注册表。有关详细信息有关如何备份和还原注册表,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何备份和还原在 Windows 注册表
注意Windows Server 2003 的 32 位版本的物理启用了地址扩展 (PAE)、 页面文件可以扩展超过 4 GB(4096 MB)。要确定是否启用了 PAE,请执行以下步骤:
  1. 单击 启动单击 运行,类型 注册表编辑器然后单击确定.
  2. 找到以下注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory 管理器
  3. 用鼠标右键单击 PhysicalAddressExtension并然后单击 修改.
  4. 在中 编辑 DWORD 值 对话框中检查值 PhysicalAddressExtension 条目。如果值的" PhysicalAddressExtension 输入零 (0),PAE 是已禁用。如果值为 PhysicalAddressExtension 条目为 1,在启用 PAE。
有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
237740如何克服 4095 MB Windows 中的分页文件大小限制

步骤 2: 创建完全内存转储文件

重要此部分、 方法或任务包含步骤将告诉您如何为修改注册表。然而,可能发生严重的问题,如果您修改注册表不正确。因此,请确保您按照这些步骤仔细。然后,备份注册表之前对其进行修改。然后,您可以在出现问题时还原注册表。有关详细信息有关如何备份和还原注册表,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何备份和还原在 Windows 注册表
  1. 单击 启动用鼠标右键单击 我计算机然后单击 属性.
  2. 单击 高级 选项卡。
  3. 单击 设置 在下 启动和恢复 区域,然后选择 完全内存转储 在下 写入调试信息.
  4. 单击 确定 两次。
注意默认情况下 完全内存转储 已禁用。如果计算机有多个 2 GB 的物理,您可以启用选项RAM。

注意如果您想要启用 完全内存转储选项,手动设置 CrashDumpEnabled 注册表项下以下为 1 的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
885117"核心内存转储"将显示在启动和故障恢复,但它在 Windows 2000 或 Windows Server 2003 中不执行完全内存转储

磁盘空间

为所选位置中必须有足够的可用空间写入内存转储文件。默认情况下写入内存转储文件%SystemRoot%\Memory.dmp 文件。如果在没有足够的可用空间%Systemroot%驱动器,您可以重定向的转储文件具有的其他位置足够的可用空间。

步骤 3: (可选) 更改写入转储文件位置

若要更改的转储文件路径中 启动和恢复 在基于 Windows Server 2003 的计算机上的选项,请按照以下步骤如下:
  1. 单击 启动用鼠标右键单击 我计算机然后单击 属性.
  2. 单击 高级 选项卡。
  3. 单击 设置 在下 启动和恢复 区域中,然后替换为适当的值的路径在中 转储文件 框中。换句话说,您可以更改路径从指向本地驱动器有足够的磁盘的 %SystemRoot%\Memory.dmp如空间 E:\Memory.dmp.
注意网络驱动器、 共享的驱动器或网络访问服务器 (NAS)驱动器不能用于为目标存储器转储文件可能会因为不能使用该文件的副本开始之前。

有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
886429当您在 Windows Server 2003 中配置内存转储文件的新位置的考虑事项

步骤 4: 安装修补程序以解决内存转储文件问题

对于基于 Windows 服务器 2003 RTM 的计算机的修补程序

以下修补程序可能会解决出现的问题时,请尝试在基于 Windows 服务器 2003 RTM 的计算机创建内存转储文件:
  • 822998 内存转储操作无法完成安装的 RAM 大于 6 GB 的计算机上
    注意在 KB822998 中的修补程序更新 DiskDump.sys文件。
  • 839937 KeBugCheckEx() 函数将导致多处理器的基于 Windows Server 2003 的计算机上重置系统
    注意在 KB839937 中的修补程序更新了文件和Hal.dll 文件。
  • 838461 一个 API,附加标题内存映像的信息,可为 OEM 的计算机在 Windows Server 2003 中的"捕获内存映像"功能
    注意在 KB838461 中的修补程序更新了文件。

Windows Server 2003 sp1 的修补程序

以下修补程序可能会解决出现的问题时,请尝试在基于 Windows 服务器 2003 Service Pack 1 创建内存转储文件计算机:
  • 898620 致命系统错误发生时正在运行的 Windows 服务器 2003 Service Pack 1 的计算机上,则不会生成故障转储文件
    注意在 KB898620 中的修补程序更新 Smss.exe文件。
  • 907646 不能调试信息内存转储文件的计算机上出现 Stop 错误时,写入运行 Windows Server 2003 的基于 Itanium 的版本
    注意在 KB907646 中的修补程序更新 Ntkrnlmp.exe 文件,Hal.dll 文件。
  • 912364 当计算机发生硬件故障时正在运行 x64 版本版本的 Windows,您不会收到 Stop 错误消息,且生成内存转储文件不是
    注意在 KB912364 中的修补程序更新 Hal.dll文件。

Windows Server 2003 sp2 修补程序

以下修补程序可能会解决出现的问题时,请尝试在基于 Windows 服务器 2003 Service Pack 2 创建内存转储文件计算机:
  • 957910 如果服务器使用一个 Storport 虚拟小型端口为 LUN 控制器,基于 Windows Server 2003 SP2 的 iSCSI 引导服务器无法生成转储文件
    注意在 KB957910 中的修补程序更新 Diskdump.sys 文件,Storport.sys 文件。
  • 970810 一台运行 Windows 的计算机支持 IPMI 标准的 server 2003 SP2 停止响应时计算机写入内存转储文件
    注意在 KB970810 中的修补程序更新 Ipmidrv.sys文件。
  • 971408 按预期的方式写入转储文件时出现的递归错误时,不重新启动 Windows Server 2003 系统
    注意在 KB971408 中的修补程序更新了文件。

若要生成手动内存转储文件的方法

有几种方法来生成手动内核转储文件或完全内存转储文件。这些方法包括使用 NMI,键盘(PS2/USB),远程内核或 NotMyFault.exe 工具。

步骤 5: 使用 NotMyFault 工具来生成手动内存转储

如果您登录时出现问题,则可以使用Microsoft Sysinternals NotMyFault 工具。为此,请执行以下步骤:
  1. 请访问以下 Microsoft 网站下载NotMyFault 工具:
    http://download.sysinternals.com/files/NotMyFault.zip
  2. 单击 启动然后单击命令提示符.
  3. 在命令行中,键入 NotMyfault.exe崩溃 /然后按 ENTER 键。
注意此操作将生成内存转储文件和 D1 stop 错误。

第 6 步: 使用键盘来生成手动内存转储

重要此部分、 方法或任务包含步骤将告诉您如何为修改注册表。然而,可能发生严重的问题,如果您修改注册表不正确。因此,请确保您按照这些步骤仔细。然后,备份注册表之前对其进行修改。然后,您可以在出现问题时还原注册表。有关详细信息有关如何备份和还原注册表,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何备份和还原在 Windows 注册表
  • 如果您使用的 PS/2 键盘,您必须创建CrashOnCtrlScroll 注册表项。 有关详细信息如何使用键盘来生成内存转储文件,单击下列选项:文章编号,以查看 Microsoft 知识库中相应的文章:
    244139Windows 功能使您可以使用键盘来生成内存转储文件
    若要使用 PS/2 的计算机上启用此功能键盘,请执行以下步骤:
    1. 启动注册表编辑器。
    2. 找到并单击以下注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
    3. 在上 编辑 菜单上,单击 添加值然后添加以下注册表项:
      Name : CrashOnCtrlScroll 
      Data Type : REG_DWORD 
      Value : 1  
    4. 退出注册表编辑器。
  • 如果您使用 USB 键盘,则必须创建CrashOnCtrlScroll 注册表项。

    若要在计算机上启用此功能使用 USB 键盘,请按照下列步骤操作:
    1. 启动注册表编辑器。
    2. 找到并单击以下注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
    3. 在上 编辑 菜单上,单击 添加值然后添加以下注册表项:
      Name : CrashOnCtrlScroll 
      Data Type : REG_DWORD 
      Value : 1  
    4. 退出注册表编辑器。
注意此键盘操作生成内存转储文件和 E2停止错误。

第 7 步: 在基于 Windows 的系统上使用 NMI 生成完整的故障转储文件或内核故障转储文件

重要此部分、 方法或任务包含步骤将告诉您如何为修改注册表。然而,可能发生严重的问题,如果您修改注册表不正确。因此,请确保您按照这些步骤仔细。然后,备份注册表之前对其进行修改。然后,您可以在出现问题时还原注册表。有关详细信息有关如何备份和还原注册表,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何备份和还原在 Windows 注册表
有关详细信息,请单击下面的文章编号,以查看在文章Microsoft 知识库:
927069 如何在基于 Windows 的系统上使用 NMI 生成完整的故障转储文件或内核故障转储文件
如果您尝试收集 NMI 转储文件,则需要创建 NMICrashDump 注册表项。要启用此功能,请按照以下步骤如下:
  1. 启动注册表编辑器。
  2. 找到并单击以下注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
  3. 在上 编辑 菜单上,单击 添加值然后添加以下注册表项:
    Name : NMICrashDump 
    Data Type : REG_DWORD 
    Value : 1  
  4. 退出注册表编辑器。
注意此操作将生成内存转储文件和 80 位错误。在 x86 和 x64 系统上才需要使用该注册表项。基于 Itanium 的系统可以生成内存转储,而无需此注册表项。

第 8 步: 使用远程调试器生成手动内存转储

有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识中的文章基址:
303021如何在服务器停止响应 (挂起) 时生成内存转储文件
注意在 WinDbg,您可以使用.crash命令。此命令上创建存储器转储文件目标计算机。或者,如果您要通过使用复制的内存转储文件零调制解调器、 USB 设备或 IEEE 1394 设备,请使用.dump命令。

第 9 步: 重新启动服务器

您必须重新启动服务器以使设置生效。

BIOS 级服务器硬件的恢复机制

有些计算机在 BIOS 级别执行硬件有一项功能恢复。例如,一台计算机可能有以下功能之一:
  • 上提供了一个自动系统恢复 (ASR) 特征某些 Hewlett 情形 (HP) 服务器。如果 ASR 存在,请将其禁用。ASR 可以中断转储进程。HP 服务器上,您可以修改 BIOS 设置以禁用ASR。如果启用此功能,并且 BIOS 未检测到的检测信号从操作系统,它将重新通常启动 10 中的计算机分钟数。
  • 戴尔计算机具有相同的功能,并将其称为戴尔特殊的管理控制台 (SAC) 或!SAC。
  • IBM 计算机具有相同的功能,并将其称为 RSAII (OS) 显示器。
  • 富士通、 NEC、 三星、 Unisys 和其他服务器硬件制造商可能具有类似功能,其服务器中。
注意如果您不确定您的硬件是否有硬件恢复功能,请与硬件制造商联系。

第 10 步: 测试是否可以获取手动内存转储文件

警告这一点非常重要,测试是否可以获得一本手册内存转储文件。如果损坏或截断转储文件时,必须问题您可以获得良好的内存转储文件再次发生。

若要测试是否您可以获得很好的转储文件的计算机,使用 NotMyFault,或按右 CTRL 键的同时按两次滚动锁定键。在服务器后重新启动后,等待磁盘活动停止。转储文件应是相同的大小为物理内存。如果您有问题获得手动内存转储文件,您可能需要更新的 SCSI 控制器固件和驱动程序硬件供应商联系。

第 11 步: 获取生成内存转储文件后,在蓝屏出现 stop 错误信息

您可以配置 Windows Server 2003 写入事件日志具有蓝色屏幕将出现 stop 错误信息的消息。通过默认情况下,Windows Server 2003 将写入事件日志消息。

注意
  1. 用鼠标右键单击 我的计算机然后单击属性.
  2. 单击 高级 选项卡。
  3. 单击 设置 在下 启动和恢复 区域中,
请注意,默认情况下 将事件写入系统日志 选项将不可用。 与不同的说明和事件日志的格式当计算机写入 Memory.dmp 文件时所显示的格式。但大多数信息是相同的。下面是事件日志的示例:
Event ID: 1001 
Source: BugCheck 
Description: 
The computer has rebooted from a bugcheck. The bugcheck was : 0xc00000E2 (0xffffffffffffffff, 0x0000000000000001, 0x0000000000000000, 0x0000000000000000). A dump was saved in: C:\WINDOWS\MEMORY.DMP. 

如何使用 DumpChk.exe 检查内存转储文件

有关详细信息有关如何执行此操作,请单击下面的文章编号,以查看在文章Microsoft 知识库:
156280如何使用 Dumpchk.exe 检查内存转储文件

第 12 步: 删除测试的转储文件

删除测试转储文件,因为接下来会发生此问题时,将生成新的内存转储文件。

等待再次出现问题的步骤 13:

发生问题时,您可以收集内存转储的文件使用以下工具或方法:
  • 使用 NotMyFault 工具。
  • 按右 CTRL 键,然后按滚动锁定键两次。
  • 使用 NMI 按钮。
  • 使用远程内核调试程序。

第 14 步: 压缩 Memory.dmp 文件

要压缩的 Memory.dmp 文件中使用 WinZip 工具。

第 15 步: 将压缩的文件上载到网站安全的文件传输

将文件压缩后,请将文件上载到安全的文件传输的站点。

如何获取自动执行注册表项和内存分页文件的实用程序

  1. 请访问以下 Microsoft 网站下载DumpConfigurator.hta:
    http://www.codeplex.com/WinPlatTools/SourceControl/changeset/view/14600#256939
  2. 单击 下载然后单击 我同意 之后您阅读 Microsoft 软件许可条款。
  3. 保存 WInPlatTools 14600.zip 文件,然后提取DumpConfigurator.hta 实用程序。
  4. 单击 DumpConfigurator.hta然后单击自动配置完成.
对于详细信息,请单击下面的文章编号,以查看在文章微软知识文库:
307973如何若要在 Windows 中配置系统故障和恢复选项

如何读取内存转储文件,Windows 会创建用于调试

要下载并安装最新版本的 Windows调试工具,请访问下面的 Microsoft 网站:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
有关详细信息,单击下面的文章编号,以查看 Microsoft 中的文章知识文库:
315263如何读取小内存转储文件,Windows 文件的创建调试
有关详细信息,请单击以下文章编号,以查看 Microsoft 知识库中相应的文章:
824344如何调试 Windows 服务
有关在 Windows 中进行调试的详细信息,请参阅下列书籍:

如何验证 Windows 调试符号

有关详细信息,请单击以下文章编号,以查看 Microsoft 知识库中相应的文章:
311503使用 Microsoft 符号服务器获取调试符号文件
138258 Windows NT 调试符号安装信息
148659 如何设置 Windows NT 调试符号
148660 如何验证 Windows 调试符号
258205 如何使用 Rebase 的 DrWtSn32.exe 提取符号
296110 如何安装用于调试符号与 Visual Studio 的产品
319037 如何使用 Visual Studio 的符号服务器。NET 调试器
814411 修补程序包不包含调试符号文件
第三方产品,这并讨论的与无关的厂商Microsoft。Microsoft 不担保,暗示或以其他方式,关于性能或可靠性,这些产品。

参考

有关此主题的详细信息,请访问下面的 Microsoft 网站:
http://msdn.microsoft.com/en-us/library/cc266483.aspx

属性

文章编号: 972110 - 最后修改: 2012年5月31日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003 Standard Edition
关键字:?
kbhowto kbexpertiseinter kbsurveynew kbinfo kbmt KB972110 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 972110
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com