分享

内核内存转储文件(即dump文件)无法产生解决方法

 Andy517 2014-09-05

内核内存转储文件可能不会生成基于 Windows Server 2008 上或 Windows Vista Service Pack 1 (SP1)-基于计算机。

系统事件日志中会有如下记录:
事件 ID: 49
事件类型: 错误
事件源: volmgr
说明: 配置失败的故障转储的页面文件。 请确保在启动分区上的页面文件,并且是足够大,以包含所有的物理内存。

解决方法:

1.打开注册表,在开始运行框中键入 regedit。

2.找到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl

新建,然后单击 DWORD 值

键入 IgnorePagefileSize,然后按 ENTER。

然后单击 修改

数值数据 框中键入 1,然后单击 确定

退出注册表编辑器。

3.重新启动系统中的更改才能生效。(必须重启机器否则不会生效)

下面介绍收集dump文件需要注意的地方(视具体环境而定):

1.修改pagefile大小:修该注册表: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\control\Session Manager\memory management\

如下:

PagingFiles REG_MULTI_SZ  C:\pagefile.sys 22000 30000


2.更改dump文件存放位置,

修改注册表项HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl

下的"Dumpfile"将其修改为 D:\memory.dmp

 


Private build 包含一个修改过的系统内核,在内核中我们将所有软件路径进入的重启都进行截获,然后再使系统进入蓝屏。这个过程中您会发现我们正常的重启操作也会经过蓝屏步骤,请不必但心,这属于正常的行为。但是,如果因为意外断电或者某些硬件问题导致的重启,这个内核是无法捕获的。

 

Private 内核配置步骤:

=================

1.       首先,在注册表中检查蓝屏后自动重启键值的设定。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl 下的”AutoReboot” 必须是”0”.这样可以确保发生蓝屏后服务器可以停止在蓝屏模式下被我们观察到.

2.       请到微软官网下载Private build. Ntkrnlmp.exe 并保存到服务器的  \系统盘符:\windows\system32\目录下。

3.        以管理员身份打开命令行,输入:bcdedit /set kernel ntkrnlmp.exe. 然后重启服务器使以上设置生效。

4.       重启后,请按F8 键进入Advanced Boot Options,  然后选择”Disable Driver Signature Enforcement” .服务器便会使用Ntkrnlmp.exe 作为内核来使用。

5.       这时,请继续观察服务器的状态。并在发生意外蓝屏后,将时间点记录下来,然后通过电源键重启服务器。重启后,请将系统日志和memory dump 文件上传给我们分析。

6.       当问题得到解决后,我们需要禁止这个功能。

禁用Private build 的方法:

=====================

(1)  windows 2008 系统上,打开命令行

(2) 输入: bcdedit /deletevalue kernel 然后回车。

(3)  重启使其生效 (本次重启仍然会有蓝屏的现象)。

本文出自 “Joe Ho” 博客,请务必保留此出处http://zhaoming198771.blog.51cto.com/927067/273284


     

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多