博客

产品解析、解决方案、行业实践与趋势洞察的深度内容

返回列表

Windows云主机死机怎么查?先保现场,再定位五类根因

Windows 云主机死机是近期频繁出现的问题。与蓝屏不同,死机时系统不自动重启也不留 dump,现场信息容易丢失。

本文覆盖死机时的取证方法、五种常见根因和对应的处理方案。

01 / TRIAGE

先区分:死机、蓝屏、反复重启

三种现象对应不同的原因和处理路径:

状态
特征
典型原因
死机(hang)
运行中突然无响应,控制台卡住,ping 不通
IO 阻塞、CPU 打满、驱动死锁
蓝屏(BSOD)
屏幕变蓝显示错误代码,通常自动重启
驱动异常、内核错误、硬件不兼容
反复重启
启动阶段卡住,反复循环
驱动加载失败、注册表损坏、系统文件丢失

本文重点讨论死机场景,蓝屏场景在相关节中一并说明。

02 / EVIDENCE COLLECTION

死机时的取证

控制台仍可操作时

优先导出系统事件日志,死机前的 Error 和 Critical 事件是关键线索:

# 导出日志
wevtutil epl System C:\diag\system.evtx
wevtutil epl Application C:\diag\application.evtx

# 查看 CPU 和内存消耗 Top 进程
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 Name, CPU, WorkingSet64

控制台无响应(彻底 hang 死)

从云平台侧收集物理机层面的信息:

journalctl -u libvirtd --since "15 min ago" | grep -i "error\|fail\|timeout"
ceph -s
ceph osd perf | head -20

最后一步

控制台截图保存死机现场画面,然后执行重启恢复业务。重启后再分析导出的日志。

03 / ROOT CAUSES

五类常见根因

一、VirtIO 驱动兼容问题

CPU 规格变更后蓝屏或死机(BBS 高频案例)

变更 vCPU 核心数后,KVM 为云主机提供新的 CPU 拓扑(核心数、APIC ID 变化)。Windows 启动时沿用之前缓存的 CPU 状态,而 VirtIO 驱动初始化访问 per-CPU 数据结构时因拓扑不匹配而失败。

触发条件:

· 在线修改 vCPU 规格,特别是跨 socket 边界变更(如 1socket 变 2socket)

· Windows Server 2019/2022 + 旧版本 VirtIO 驱动

· CPU 模式为 host-passthrough 或 host-model

处理方案:

· 规格变更使用关机后修改,避免在线变更

· 更新 VirtIO 驱动到最新稳定版本

· 已蓝屏时:通过 XMLHook 临时关闭 VirtIO 后启动,修复后再恢复

性能优化工具导致蓝屏(BBS 已知案例)

特定场景下性能优化工具与系统组件冲突:

· Windows Server 2025 加入 AD 域后重启蓝屏——工具与 AD 认证组件冲突

· 安装工具后鼠标丢失、网络配置丢失

处理方案:

· Windows 2025 + AD 场景:创建 XMLHook 临时关闭 VirtIO,重启后卸载工具,安装兼容版本

· 安装工具前确认版本与云平台兼容

二、存储 IO 阻塞导致 hang 死

特征:

· 云主机 ping 不通,RDP/SSH 无响应

· 云平台监控显示 IO 中断,存储延迟在故障前显著升高

· 控制台可能显示磁盘 IO error

根因:存储池后台执行刷盘等重操作,延迟急剧升高 → 云主机的 IO 请求长时间未完成 → CPU 持续处理 IO 中断,频繁上下文切换 → 资源耗尽,hang 死。

排查:

# 物理机层面
iostat -x 1 5
ceph osd perf
dmesg | grep -i "blocked for more than\|hung_task"

预防:

· 存储池重操作安排在业务低峰期

· 配置存储 IO 延迟告警

· 云主机内降低磁盘超时时间(注册表 HKLM\SYSTEM\CurrentControlSet\Services\Disk\TimeOutValue,默认 60 秒可调至 30 秒)

三、CPU 打满(应用层)

特征:控制台极慢但有响应,查看进程发现 CPU 持续 100%。

常见触发源:

· Windows Update 后台静默安装

· 杀毒软件全盘扫描(计划任务触发)

· 应用程序内存泄漏导致持续 GC

· IIS/数据库等应用层死循环

排查:

Get-Process | Sort-Object CPU -Descending | Select-Object -First 5
Get-Service -Name wuauserv | Select-Object Status
Get-ScheduledTask | Where-Object { $_.State -eq 'Running' }

四、在线扩容 CPU/内存导致蓝屏

Windows Server 2019 早期版本中,驱动访问超过 64 个逻辑处理器的 NUMA 节点时触发已知 bug。在线扩容后重启即蓝屏。

处理方案:

· 确认 Windows 已安装最新累积更新

· 如无法更新:避免在线扩容,改用关机后修改

· 已蓝屏:回滚规格到原始配置

五、内存耗尽

Windows 内 OOM 表现为系统逐步缓慢直至完全无响应。

排查:

Get-CimInstance Win32_OperatingSystem | Select-Object TotalVisibleMemorySize, FreePhysicalMemory
Get-Process | Sort-Object WorkingSet64 -Descending | Select-Object -First 10

预防:监控云主机内存使用率,阈值告警。对内存密集型应用设置适当的虚拟内存。

04 / PREVENTION

预防配置

启用蓝屏 dump(即使当前未蓝屏也提前配置)

wmic recoveros set DebugInfoType = 1
wmic recoveros set AutoReboot = False

监控基线

指标
告警建议
CPU 使用率
持续 > 90% 超过 5 分钟
内存使用率
> 95%
磁盘队列深度
\PhysicalDisk(*)\Current Disk Queue Length > 10
系统事件日志
Error / Critical 级别事件

05 / CHECKLIST

自查清单

死机时

控制台截图保存现场

导出系统事件日志(System + Application evtx)

记录准确时间点,用于对照存储/网络监控

恢复后

分析事件日志中死机时点前后的 Error/Critical

检查蓝屏 dump(%SystemRoot%\Minidump\*.dmp)

确认 VirtIO 驱动和性能优化工具版本

对照存储延迟和 IO 异常

确认 Windows Update 和杀毒软件的计划任务

06 / SUPPORT

联系技术支持

情况
建议
死机后系统日志无任何 Error,存储/网络侧无异常
提供完整 evtx 日志和死机时间点
蓝屏 dump 指向内核或驱动模块
提供 minidump 文件(.dmp)做 crash dump 分析
CPU 规格变更后反复蓝屏
回滚规格,提供云平台版本和 VirtIO 驱动版本
多台 Windows 云主机同时死机
排查共享存储/网络组件,同步联系技术支持

死机现场只有一次,日志要在重启前拿到。

排查顺序从驱动到存储再到应用层,规格变更尽量走关机修改。


联系我们