我使用的是 Windows 10 家庭版。自上次更新以来,电脑关机需要很长时间。以下是我尝试的方法:
- 右键单击“开始”
- 选择Windows PowerShell(管理员)
- 在 UAC 提示上单击“是”
- 运行命令
shutdown /s /f /t 0
什么都没发生,命令只是挂起,没有返回提示。当我等待大约 15 分钟(!)时,计算机终于关闭了。在此期间,我可以正常使用计算机。
我想调查导致此问题的程序/服务。我检查了事件查看器 ( eventvwr.exe
),但我不知道要查看哪个日志。我还检查了任务管理器,但它没有显示占用高 CPU、磁盘或内存使用率的进程。
我该如何调试此问题?
编辑: 我已通过拔掉外部 USB 存储卡读卡器解决了该问题。显然,该设备阻止了计算机关机。但问题仍然存在。我怎么可能通过调试关机过程而不是靠猜测来发现这个问题呢?
答案1
(注意:Windows 正在不断发展,不同版本之间的细节可能有所不同。)
控制关机行为
在跟踪关机之前,我注意到大约 15 分钟的关机等待时间是不正常的 - 通常最多只需几分钟。我建议在注册表中的键下检查
HKEY_CURRENT_USER\Control Panel\Desktop
您是否设置了以下任何一项:
WaitToKillAppTimeout
:(默认 20 秒)
打开的应用程序在关闭之前清理并保存其数据的时间。HungAppTimeout
:(默认 5 秒)
Windows 在认为应用程序无响应之前等待多少秒。AutoEndTasks
:(默认为 0)
设置为1
在关机时自动关闭程序而不请求您的许可。
有关详细信息,请参阅 控制 Windows 在关机时终止应用程序之前等待的时间。
启用详细关机消息
如果未启用详细日志记录,则在您启动、关闭、登录或注销计算机时,只会显示正常状态消息,例如“正在应用您的个人设置...”或“正在应用计算机设置...”。如果启用了详细日志记录,您将收到其他信息,例如“RPCSS 正在启动”或“正在等待计算机组策略完成...”。
要启用详细状态消息:
- 运行 regedit
- 定位到以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
- 创建一个名为的 DWORD 值
verbosestatus
并将其设置为1
详细追踪关机过程
下面描述的过程和工具也可以用来跟踪启动。
安装工具
- 下载
Windows 10 SDK
文件
winsdksetup.exe
- 运行它并选择仅安装“Windows 性能工具”(而不是完整安装)
- 重启。
创建跟踪日志
在以管理员身份运行的命令提示符中,定位到:
cd %ProgramFiles%\Microsoft Windows Performance Toolkit
像这样进行重启跟踪:
xbootmgr -trace shutdown -traceFlags BASE+DIAG+LATENCY -noPrepReboot
启动后,两分钟内就会产生痕迹。
查看跟踪日志
- 运行 Windows 性能分析器 (
wpa.exe
) - 使用菜单文件 > 打开打开文件夹内的跟踪日志
%ProgramFiles%\Microsoft Windows Performance Toolkit
- 详细的跟踪可以在“分析”选项卡中找到。
- 有关具体的关机信息,请使用菜单 型材 > 申请 > 浏览目录并选择“FullBoot.Shutdown.wpaprofile”。