如何分析 WindowsDump:Dump 起源与初始设置(一)

适用场景:Windows 系列系统异常宕机(蓝屏)且存在Dump文件(*.dmp)

相关背景解释:众所周知,Windows历史上BUG比较多,无故宕机、程序卡死的例子较多,为了避免无迹象可循的情况,Microsoft 推出 Dump机制在宕机时先进行蓝屏收集宕机前状态,并且可以捕获到导致异常的关键错误,当Windows出现异常Crash时Windows会调用Dump系统来形成一个转储文件(*.dmp),通过特殊工具可以进行分析。

如何确保有Dump文件?

1、 要清楚,Dump文件是Windows启动的一个保险机制,而蓝屏主要是用做给系统争取时间进行收集Dump文件所用,所以一个逻辑是必然会有的,那就是如果蓝屏必然触发Dump机制,Dump机制会根据系统设置进行Mini或Full的收集。

2、 关于Dump文件的大小,如果Dump设置的存放位置不满足Dump文件大小也是不会产生Dump文件:

a) MiniDump文件大小:取决于Windows 运行时内存页大小,比如当前CVM跑的是数据库,那么产生的Dump文件大小就是数据库交换内存的概要信息,比如说16G内存有20%被使用,宕机时所产生的Dump文件就是3.2g的概要信息(即涉及到的进程的大概地址)

b) FullDump文件大小:取决于Windows物理内存大小,FullDump即完整收集模式,将整个系统在宕机时的整个内存运行态进行记录,通常该文件的大小是物理大小的1.0 ~ 1.5倍左右(倍数的浮动取决于虚拟内存交换设置的大小)

3、 所以,要确保有Dump文件,最低条件是:

a) 开启Windows系统的Dump

b) 确保设置的位置剩余空间是物理内存1.5倍以上

c) 若要完整的Dump日志进行分析,请选择完整收集模式

注1:QCloud Windows Server 2008R2为避免磁盘风险,默认不开启FullDump模式,所以如果需要详细Debug文件,则手动开启即可:

如果您想要启用完全内存转储选项,手动设置为 0x1 以下注册表子项下的CrashDumpEnabled注册表项并重新启动 Windows:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

注2:也可以使用Memory Dump Configuration工具进行设置

相关推荐:如何分析 WindowsDump:BSOD 分析与 WinDbg 使用(二)

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 zhuanlan_guanli@qq.com 删除。

编辑于

扫描关注云+社区

VMCloud

18 篇文章35 人订阅

仅代表VMCloud的StatLee

我来说两句

0 条评论
登录 后参与评论

相关文章

扫描关注云+社区