Windows 内存转储文件选项概述

本文介绍了用于 Windows 的内存转储文件选项。

原始产品版本:   Windows 7 Service Pack 1、Windows Server 2012 R2
原始 KB 数:   254649

摘要

您可以配置以下操作系统以写入调试信息:

  • Windows 7
  • Windows Server 2012 R2

调试信息可以写入不同的文件格式, (也称为内存转储文件) 当计算机因 停止 错误而意外停止时 (也称为 蓝屏、系统崩溃或 bug 检查) 。 您还可以将 Windows 配置为不将调试信息写入内存转储文件。

Windows 可以生成以下任何一种内存转储文件类型:

完全内存转储

当计算机意外停止时,完全内存转储会记录系统内存的所有内容。 完全内存转储可能包含收集内存转储时正在运行的进程中的数据。

如果选择 " 完全内存转储 " 选项,则启动卷上必须有一个足够的分页文件,以容纳所有物理 RAM 加 1 MB (MB) 。

如果出现第二个问题,并且创建了另一个完全内存转储 (或创建了核心内存转储) 文件,则将覆盖上一个文件。

备注

  • 在 Windows 7 中,分页文件可以位于与安装操作系统的分区不同的分区上。
  • 在 Windows 7 中,无需使用 DedicatedDumpFile 注册表项将页面文件放到另一个分区上。
  • " 完全内存转储 " 选项在运行32位操作系统且具有 2 GB (gb) 或更多 RAM 的计算机上不可用。 有关详细信息,请参阅 指定系统意外停止时将会发生的情况

核心内存转储

内核内存转储仅记录内核内存。 这将加快在计算机意外停止时在日志中记录信息的过程。 您必须具有足够大的页面空间以容纳内核内存。 对于32位系统,内核内存通常在 150 MB 和 2 GB 之间。

此转储文件不包括未分配的内存或任何分配给用户模式程序的内存。 它仅包括分配给 Windows 2000 和更高版本中的内核和硬件抽象层 (HAL) 的内存,以及分配给内核模式驱动程序和其他内核模式程序的内存。 在大多数情况下,此转储文件最有用。 它小于完全存储器转储文件,但它只会忽略问题中不可能涉及的那些内存部分。

如果出现第二个问题,并且创建了另一个核心内存转储文件 (或创建了完整的内存转储) 文件,则在选中 " 覆盖任何现有文件 " 设置时,将覆盖上一个文件设置。

小内存转储

小存储器转储记录了可帮助识别计算机意外停止原因的一组最少的有用信息。 此选项要求启动卷上至少有 2 MB 的分页文件,并指定每次计算机意外停止时 Windows 2000 和更高版本都会创建一个新文件。 这些文件的历史记录存储在文件夹中。

此转储文件类型包括以下信息:

  • 停止消息及其参数和其他数据
  • 加载的驱动因素的列表
  • 已停止的处理器 (PRCB) 的处理器上下文
  • 已停止的进程的进程信息和内核上下文 (EPROCESS)
  • 已停止的线程的进程信息和内核上下文 (ETHREAD)
  • 已停止的线程的内核模式调用堆栈

当空间有限时,这种类型的转储文件可能非常有用。 但是,由于包含有限的信息,因此,对此文件的分析不会发现在问题发生时运行的线程未直接导致的错误。

如果出现第二个问题,并且创建了第二个小存储器转储文件,则保留上一个文件。 为每个其他文件提供一个不同的名称。 在文件名中对日期进行编码。 例如,Mini022900-01 是在2000年2月29日生成的第一个内存转储。 所有小内存转储文件的列表都保存在该 %SystemRoot%\Minidump 文件夹中。

配置转储类型

若要配置启动和恢复选项 (包括转储类型) ,请按照以下步骤操作。

备注

由于有几个版本的 Windows,以下步骤在您的计算机上可能会有所不同。 如果是,请参阅产品文档来完成这些步骤。

  1. 单击“开始”,然后单击“控制面板”
  2. 单击 " 性能和维护",然后单击 " 系统"。
  3. 在 "高级" 选项卡上,单击 "启动和恢复" 下的 "设置"。

备注

必须重新启动 Windows,才能使更改生效。

各种转储类型的工具

您可以使用标准符号调试器(如 I386kd.exe)加载完全内存转储和内核内存转储。 I386kd.exe 包含在 Windows 2000 支持 cd-rom 中。

使用 Dumpchk.exe 加载小内存转储。 您还可以使用 Dumpchk.exe 验证是否已正确创建内存转储文件。

卷定义

  • 启动卷:包含 Windows 操作系统及其支持文件的卷。 启动卷可以(但不是必须)与系统卷相同。

  • 系统卷:包含加载 Windows 所必需的特定于硬件的文件的卷。 系统卷可以(但不是必须)与启动卷相同。 Boot.ini、 Ntdetect.com 和 Ntbootdd.sys 文件是位于系统卷上的文件的示例。

用于启动和恢复的注册表值

下面的注册表值在中使用 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl

  • CrashDumpEnabled REG_DWORD 0x0 = None
  • CrashDumpEnabled REG_DWORD 0x1 = 完全内存转储
  • CrashDumpEnabled REG_DWORD 0x2 = 内核内存转储
  • CrashDumpEnabled REG_DWORD 0x3 = 小型内存转储 (64KB)
  • CrashDumpEnabled REG_DWORD 0x7 = 自动内存转储

CrashControl 的其他注册表值:

  • 0x0 = Disabled

  • 0x1 = 已启用

  • AutoReboot REG_DWORD 0x1

  • DumpFile REG_EXPAND_SZ %SystemRoot%\Memory.dmp

  • LogEvent REG_DWORD 0x1

  • MinidumpDir REG_EXPAND_SZ %SystemRoot%\Minidump

  • 覆盖 REG_DWORD 0x1

  • SendAlert REG_DWORD 0x1

备注

必须重新启动 Windows,才能使更改生效。

进行测试以确保可以创建转储文件

有关如何配置计算机以生成用于测试目的的转储文件的详细信息,请参阅 Windows 功能允许使用键盘生成内存转储文件

默认转储类型选项

  • Windows 7 (所有版本) :内核内存转储
  • Windows Server 2012 R2 (所有版本) :自动内存 dmp

最大分页文件大小

最大分页文件大小的限制如下所示:

限制 系列 x64 IA-64
分页文件的最大大小 4 gb (非 PAE)
16 tb (PAE)
16 tb 32 tb
分页文件的最大数量 16 16 16
总分页文件大小 64 gb (非 PAE)
256 tb (PAE)
256 tb 512 tb

基于 x64 的 Windows 版本的技术支持

硬件制造商为基于 x64 的 Windows 版本提供技术支持和帮助。 硬件制造商提供支持,因为基于 x64 的 Windows 版本包含在你的硬件中。 你的硬件制造商可能已使用独特的组件自定义了 Windows 安装。 独特的组件可能包含特定设备驱动程序,或者可能包含用于最大限度地提高硬件性能的可选设置。 如果你需要基于 x64 版本的 Windows 的技术帮助,Microsoft 将提供合理的工作帮助。 但是,您可能必须直接与制造商联系。 您的制造商最适合支持您的制造商安装在硬件上的软件。