方案指南:排查系统关闭停止响应的问题

本方案指南介绍如何排查系统关闭未完成并停止响应的问题。 它还有助于收集数据并开始对问题进行分析。 有关详细信息,请参阅 有关系统关闭的常规信息。

内存转储文件

若要对这种情况进行故障排除,需要一个完整的 内存转储。 如果计算机具有大量内存,则应将活动内存转储配置为 减小转储 文件的大小。 若要获取内存转储,请启动关闭并等待 10 分钟进行转储分析。 使用与对处于冻结状态的计算机进行故障排除的方法相同,以配置和创建memory.dmp文件。 该文件用于从 物理计算机虚拟机进行分析。

调试工具

若要分析内存转储文件,请安装 Windows 调试器

WinDbgMEX 调试扩展有助于调试和分析关闭问题。 它还可以简化常见的调试器任务,并为调试器提供强大的文本筛选功能。

分析准备

使用 符号路径 配置 Windows 调试器,以便 Windows 调试器可以加载 符号 来分析方案。

使用本地文件夹(例如 c:\Symbols)通过Microsoft符号服务器进行缓存按如下所示设置符号路径

显示调试设置中的符号路径的屏幕截图。

解压缩mex.zip文件,并将 64 位版本的 mex.dll 复制到已安装调试器工具的路径下的 winext 文件夹(例如 C:\Prgram 文件 (x86)\Windows Kits\10\Debuggers\x64\winext\mex.dll)。

启动调试器,加载 memory.dmp 文件,并加载 mex 扩展名。 例如:

0: kd> .load C:\Prgram Files (x86)\Windows Kits\10\Debuggers\x64\winext\mex.dll
Mex External 3.0.0.7172 Loaded!

使用调试器进行分析

可以使用 调试器分析故障转储文件

阻止关闭的可能原因包括:

阻止的内核情况

使用命令 !mex.tl -t检查被阻止的线程。 例如:

显示命令输出中阻止的线程的屏幕截图。

未结束的服务

若要隔离第三方服务的问题,请在禁用第三方服务的情况下以安全模式启动计算机,然后在禁用第三方服务的情况下将其关闭。 如果问题与第三方服务相关,请 继续使用系统配置实用工具选择性启动 来隔离阻止关闭的服务。

检查“ClearPageFileAtShutdown”值

检查值的值数据 ClearPageFileAtShutdownComputer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management)。 如果值为该值 0,则禁用关闭时清除分页文件的策略。 如果值为 1,则启用策略。

参考