任务管理器实时内存转储

概述

使用任务管理器创建实时内核内存转储。 此功能补充了任务管理器的现有功能,为特定进程创建内存转储。

实时内核内存转储包含内核内存和可选其他类型的内存的一致快照。 它将此快照保存到内存转储文件。 与手动生成内核内存转储的其他方法不同,此方法不会导致系统崩溃。

有权访问相应符号文件和源代码的程序员可以分析转储文件来检查系统状态和诊断问题。

可以从 系统 进程创建实时内核内存转储。 此过程类似于如何为用户模式进程创建内存转储文件。

完整实时内核内存转储包含活动内核内存,可以选择性地包含管理程序内存和用户模式内存。 捕获虚拟机监控程序和用户页面的选项可用于完整的实时内核转储。 或者, 内核堆栈内存转储 是一个较小的文件,仅限于内核处理器状态和所有内核线程堆栈。

关于实时内核内存转储的一般信息,请参阅 实时内核内存转储代码参考

任务管理器实时转储功能于 2023 年初发布。 它首次在金丝雀频道(内部版本 25276 及更高版本)和开发者频道(内部版本 23419 及更高版本)的 Windows 预览版中提供。 2023 年 7 月,它在 Windows OS 内部版本 22621.1992 及更高版本中可用。

使用任务管理器创建系统的实时内核内存转储

若要使用任务管理器捕获实时内核内存转储,请完成以下步骤。

  1. 启动 Windows 任务管理器。

  2. 转到 “进程 ”或 “详细信息”。

  3. 查找 系统 进程。

  4. 右键单击进程并选择“ 创建实时内核内存转储文件”。

  5. 从下拉菜单中,选择 完整实时内核内存转储内核堆栈内存转储

任务管理器的屏幕截图,其中显示了系统进程的上下文菜单,其中显示了完整实时内核内存转储和内核堆栈内存转储选项。

为用户模式进程创建内存转储

使用任务管理器中的类似过程创建进程的内存转储。 突出显示所需的用户模式进程,然后右键单击并选择“ 创建内存转储文件”。 有关用户模式转储文件的详细信息,请参阅 User-Mode 转储文件

即时内核内存转储文件高级选项

可以在任务管理器设置下找到实时内核内存转储文件选项。

任务管理器设置的屏幕截图,其中显示了实时内核内存转储高级选项,包括“捕获虚拟机监控程序内存页”和“捕获用户页”复选框。

顶部按钮将实时内核内存转储设置还原为其默认值。

选择“内存压力中止”选项时,如果内存可用性不足,实时转储进程将停止。 此默认设置可最大程度地减少捕获实时内核转储对系统响应能力的潜在影响。

内核实时内存转储文件的设置提供了多个选项,以便指定在内存转储中包含哪些信息。

  • 捕获虚拟机管理程序内存页 (包含或不包含非必要页)
  • 捕捉用户页面

向转储文件添加额外信息会增加其大小,并在记录内存转储时使用更多内存。

捕获虚拟机监控程序内存页

选择“ 捕获虚拟机监控程序内存页 ”选项,捕获虚拟机监控程序用于支持 Hyper-V 和虚拟机的内存区域。 有关详细信息,请参阅 Windows 上的Hyper-V

可以选择包括或不包括非必要的虚拟机管理程序内存页。

捕获用户页面

如果故障排除问题需要用户模式内存,请启用 “捕获用户页面 ”。

有关 Windows 内存和页面使用情况的一般信息,请参阅 Pavel Yosifovich、Alex Ionescu、Mark Russinovich 和 David 所罗门的 Windows 内部

实时内存转储文件位置

内存转储完成后,将显示一个对话框,提供内存转储 .dmp 文件的位置。 选择 “打开文件位置 ”以打开文件夹。

实时内核内存转储

默认情况下,实时内核内存转储存储在以下位置:

%LocalAppData%\Microsoft\Windows\TaskManager\LiveKernelDumps

%LocalAppData% 通常是 C:\Users\<YourUserName>\AppData\Local\

实时用户模式内存转储

实时用户模式内存转储文件存储在 %localappdata%\Temp 目录中,通常位于“用户”目录中。

C:\Users\<YourUserName>\AppData\Local\Temp

实时内存转储收集过程中的故障排除

如果实时内存转储返回错误,请检查错误消息以了解详细信息。 例如:

  • 任务管理器需要以管理员级别用户身份运行。

  • 如果遇到超时问题,请尝试在几分钟后再次执行数据转储。

  • 等待所有请求的转储完成后,再执行其他内存转储。

  • 实时内核内存转储创建可能成功,但不包含内存的完整内容。 捕获暂时需要足够的可用可用物理内存来保存要写入转储文件的内存副本。 关闭不需要的应用程序或禁用对 Hyper-V 和用户模式内存页的捕获可能会增加可保存到转储文件中的内存量。

分析实时内存转储文件

发生实时内存转储时,可以使用用于其他内存转储文件的相同技术分析转储文件。 若要了解故障期间内存的内容,通常需要了解处理器内存寄存器和程序集编程。 此外,访问失败的源代码使开发人员能够解决此问题。

有关详细信息,请参见:

错误检查代码:0x161 - LIVE_SYSTEM_DUMP

任务管理器实时内存转储的错误检查代码是错误检查 0x161:LIVE_SYSTEM_DUMP

另请参阅