ECS Windows 系统蓝屏 (BSOD) 以及停止响应 (Hang) 的处理

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 根据阿里云售后支持经验总结的Windows蓝屏 (BSOD, Blue Sceen of Death),以及机器停止响应 (Hang) 这两种业务影响严重类的问题的可能原因、跟进方案、最佳实践。

用户在 Windows 系统上有时会遇到蓝屏 (BSOD, Blue Screen of Death),或者机器停止响应 (Hang)  这两类业务影响严重的问题。Windows 系统蓝屏后,默认配置下机器会自动重启恢复;对于机器停止响应,往往也需要重启作为临时解决方案以快速恢复业务,这都会造成业务的中断。考虑到业务风险,客户需要找出问题的根本原因来避免问题再次发生。但是由于 Windows 蓝屏和停止响应都是技术疑难类问题,需要配置注册表,等待问题复现后收集核心转储 (Kernel Dump) 或 完全内存转储 ( Complete Dump ),花费数天或数周分析,有时甚至还要多次复现才能定位问题根本原因, 处理非常耗时

 

这两类问题虽然表象不同,但原因比较类似。一般与操作系统 bug、驱动或三方软件兼容性、杀毒软件、病毒木马等原因相关。在本篇文章中,我们根据云平台上这两类问题的排查经验,总结了这两类问题的可能原因、跟进方案和最佳实践。


尤其是考虑到这两类问题分析耗时,业务潜在风险高,而通过采用本文提供的最佳实践,可以快速解决大部分的系统蓝屏和停止响应问题,消除业务风险。因此我们强烈建议您在实际运维中,采纳本文最佳实践以便在阿里云 ECS 上更好的使用 Windows 操作系统。

Windows 蓝屏的处理

Windows 操作系统在遇到关键异常的情况下,为了防止数据丢失,系统自动崩溃蓝屏,如果有配置内存转储文件(crash dump) 的收集,系统会自动生成蓝屏存储到指定的目录 (默认文件为 C:\Windows\memory.dmp)。

 

Windows 系统有多种原因导致蓝屏,包括但不限于:

  • 误操作或者病毒引起的系统文件、注册表损坏
  • 驱动程序与操作系统兼容性引起的异常内存访问
  • 操作系统自身 bug
  • 三方杀毒软件驱动异常

 

操作系统在蓝屏的情况下,会抛出对应的 Bugcheck Code 以及可能的导致蓝屏的模块来大概说明问题发生的原因。例如:如下是通过微软notmyfault.exe手工触发蓝屏的结果。

4e662a921b3abc5c7048f7f244a59a700c23fa16

微软官方列举了如下 Bugcheck Code,详细请参考如下链接:

Bug Check Code Reference 

http://msdn.microsoft.com/en-us/library/windows/hardware/ff560129(v=vs.85).aspx

对于用户而言,更重要的是如何处理 Windows 蓝屏,请参考如下跟进方案以及最佳实践。

最佳实践

根据与微软官方的沟通以及日常排查经验,为了防止系统蓝屏的发生以及可能引起的数据丢失,我们建议客户在日常运维中:

<1> 请在 ECS 上启用安骑士防护或其它商业版杀毒防护工具,定期杀毒,定期更新杀毒软件版本,防止病毒或者杀毒软件驱动与操作系统兼容性引起的蓝屏。

<2> 请定期运行 Windows Update,确保微软最新安全更新已经安装。

<3> 请不要将重要数据放在系统盘,建议放在数据盘中。

<4> 对系统盘、数据盘启用自动快照策略,同时在重要变更操作前手工创建系统盘和数据盘快照,以便异常情况下通过快照回滚快速恢复数据。

注:创建自动快照策略

https://help.aliyun.com/document_detail/25456.html

<5> 请在修改系统注册表前备份注册表文件。避免修改系统文件。

跟进方案

如果 Windows ECS 在使用过程中突然断开、无法远程,查看日志发现异常重启的情况,怀疑可能出现过系统蓝屏,请采用如下方法验证:

方法1:打开"事件查看器",打开"系统日志", 在问题发生时间点,如果看到有来源"volmgr"抛出的 ID 46事件,说明之前发生过蓝屏,但是由于没有配置 Paging File 页面文件以及内存转储文件,导致 dump 收集失败。

fb697724d39f11052340b769224e81cb9cc3aef5

 

错误        2016/3/25 0:42:55        volmgr        46        无

故障转储初始化未成功

 

方法2:如果之前有正常配置过蓝屏收集,在系统日志中可以发现事件 ID 41的 Kernel-Power 的关键错误日志,提示系统从意外的关闭中回复以及事件 ID 1001,来源为 Bugcheck 的日志提示系统出现崩溃。

75987b3509cc54212aa4fb726c3c7f6801fc321d

 

由于蓝屏日志的分析非常耗时,考虑到快速恢复业务和避免问题再次发生,我们强烈建议客户在遇到蓝屏机器重启后,采用如下3条来避免潜在的已知问题:

<1> 卸载三方杀毒软件

请注意:禁用杀毒软件的防护功能一般不会消除杀毒软件内核驱动的影响。如果由于安全需求无法卸载三方杀毒软件,请您务必更新杀毒软件到最新版本以消除兼容性问题。

<2> 安全模式下,使用微软 Msert 离线杀毒工具或者三方专业杀毒软件杀毒。

<3> 运行 Windows Update,安装所有更新。

 

Windows 停止响应 (Hang) 的处理

Windows 出现无法响应的现象,包括但不限于:

  • 机器运行一段时间后,无论远程桌面还是管理控制台,背景不变,鼠标无法移动。
  • 用户可以看到密码输入页面,输入密码后,出现白色背景,蓝色背景或者黑色背景,无法登入操作系统。
  • 操作系统仍然在运行,但是无法 ping 通,无法通过网络访问应用。

 

Windows 系统有多种原因导致停止响应,包括但不限于:

  • 病毒影响、三方应用(杀毒软件)引起的兼容性问题。
  • 系统设备驱动程序与操作系统兼容性引起。
  • Windows 操作系统自身 bug。
  • 系统内存核心资源 (Committed Charge, Paged Pool, Non-paged Pool等) 耗尽。
  • 机器启动脚本、登录脚本、组策略应用由于线程死锁等原因导致无法登录。

最佳实践

与系统蓝屏问题处理相同,根据与微软官方的建议以及日常排查经验,为了防止系统停止响应,我们建议客户在日常运维中:

<1> 请在 ECS 上启用安骑士防护或其它商业版杀毒防护工具,定期杀毒,定期更新杀毒软件版本,防止病毒或者杀毒软件驱动与操作系统兼容性引起的系统停止响应。

<2> 请定期运行 Windows Update,确保微软最新安全更新和系统补丁已经安装。

<3> 请不要将重要数据放在系统盘,建议放在数据盘中。

<4> 对系统盘、数据盘启用自动快照策略,同时在重要变更操作前手工创建系统盘和数据盘快照,以便异常情况下通过快照回滚快速恢复数据。

注:创建自动快照策略

https://help.aliyun.com/document_detail/25456.html

<5> 请在修改系统注册表前备份注册表文件。避免修改系统文件。

<6> 请经常检查系统负载,确保运行的三方应用程序不存在资源泄露或线程死锁,定期更新三方应用程序到最新版本。

跟进方案

考虑到业务快速恢复,我们强烈建议客户在遇到系统停止响应的情况,重启机器恢复业务后,参考如上的最佳实践。尤其是请您务必采用如下4条来避免潜在的已知问题:

<1> 卸载三方杀毒软件

请注意: 禁用杀毒软件的防护功能,杀毒软件内核驱动可能仍然运行,继续影响操作系统行为。如果由于安全需求无法卸载三方杀毒软件,请您务必更新杀毒软件到最新版本以消除兼容性问题。

<2> 安全模式下,使用微软 Msert 离线杀毒工具或者三方收费版本杀毒软件杀毒。

<3> 运行 Windows Update,安装所有更新。

<4> 检查或停用 Windows 的启动脚本、登录脚本、组策略以查看问题是否再次发生。

 

如果采用最佳实践后,仍然发生Windows蓝屏或者停止响应问题,建议您:

1、参考微软官方 KB 中的排查建议

Troubleshoot "blue screen" or Stop error problems before you contact Microsoft Support

https://support.microsoft.com/en-us/kb/3106831


2、参考知识点“ECS Windows开启内核转储(Core Dump)配置说明收集数据,工单反馈进一步分析。

 

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
6月前
Servlet 教程 之 Servlet 服务器 HTTP 响应 2
Servlet教程讲解了如何通过HttpServletResponse设置HTTP响应,包括编码URL、添加cookie、设置报头、控制缓冲区、发送错误或重定向响应。方法如encodeURL、addCookie、sendError、sendRedirect等,涉及状态码、报头、字符编码和内容长度的管理。
59 2
|
6月前
|
XML Java 数据格式
Servlet 教程 之 Servlet 服务器 HTTP 响应 3
`Servlet`教程示例展示了如何创建一个HTTP响应,使用`@WebServlet(&quot;/Refresh&quot;)`的`Refresh`类继承`HttpServlet`。在`doGet`方法中,设置了`Refresh`头以每5秒自动刷新,并用`setContentType(&quot;text/html;charset=UTF-8&quot;)`设定内容类型。还使用`Calendar`和`SimpleDateFormat`获取并格式化当前时间显示。相应的`web.xml`配置指定了Servlet路径。当访问此Servlet时,页面将每5秒更新一次显示的系统时间。
56 4
|
1月前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
51 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
6月前
|
数据安全/隐私保护 Windows
远程重启停止响应的服务器
远程重启停止响应的服务器
39 2
|
2月前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
|
2月前
|
开发者
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
31 1
|
3月前
|
JSON API 数据格式
基于服务器响应的实时天气数据进行JSON解析的详细代码及其框架
【8月更文挑战第25天】这段资料介绍了一个使用Python从服务器获取实时天气数据并解析JSON格式数据的基本框架。主要分为三个部分:一是安装必要的`requests`库以发起HTTP请求获取数据,同时利用Python内置的`json`库处理JSON数据;二是提供了具体的代码实现,包括获取天气数据的`get_weather_data`函数和解析数据的`parse_weather_data`函数;三是对代码逻辑进行了详细说明,包括如何通过API获取数据以及如何解析这些数据来获取温度和天气描述等信息。用户需要根据实际使用的天气API调整代码中的API地址、参数和字段名称。
|
4月前
|
Shell Python
`pytest-httpserver`是一个pytest插件,它允许你在测试期间启动一个轻量级的HTTP服务器,并模拟HTTP请求和响应。
`pytest-httpserver`是一个pytest插件,它允许你在测试期间启动一个轻量级的HTTP服务器,并模拟HTTP请求和响应。
|
5月前
|
应用服务中间件
tomcat服务器get、post请求及响应中文乱码问题
tomcat服务器get、post请求及响应中文乱码问题
|
4月前
|
网络安全
嗯… 无法访问此页面43.139.210.211 花了太长时间进行响应,无法连接宝塔,是服务器内的宝塔面板开启了ssl的验证,但是没有绑定证书,所以被拦截,关闭宝塔面板的ssl访问认证恢复正常
嗯… 无法访问此页面43.139.210.211 花了太长时间进行响应,无法连接宝塔,是服务器内的宝塔面板开启了ssl的验证,但是没有绑定证书,所以被拦截,关闭宝塔面板的ssl访问认证恢复正常