Windows内存转储:它们到底是用来做什么的?

当Windows出现蓝屏时,它会创建内存转储文件-也称为崩溃转储。这就是Windows8的BSOD所说的“只是收集一些错误信息”。

这些文件包含崩溃时计算机内存的副本。它们可以用来帮助诊断和识别最初导致崩溃的问题。

内存转储的类型

相关:你需要知道的关于死亡蓝屏的一切

Windows可以创建几种不同类型的内存转储。您可以通过打开“控制面板”,单击“系统和安全”,然后单击“系统”来访问此设置。单击侧栏中的“高级系统设置”,单击“高级”选项卡,然后单击“启动和恢复”下的“设置”。

默认情况下,“写入调试信息”下的设置设置为“自动内存转储”。下面是每种类型的内存转储的实际内容:

完全内存转储:完全内存转储是可能的最大类型的内存转储。它包含Windows在物理内存中使用的所有数据的副本。因此,如果您有16 GB的RAM,而Windows在系统崩溃时正在使用其中的8 GB,则内存转储的大小将为8 GB。崩溃通常是由在内核模式下运行的代码引起的,因此包括每个程序的内存在内的完整信息很少有用-即使对于开发人员来说,内核内存转储通常也是足够的。

内核内存转储:内核内存转储将比完整的内存转储小得多。微软表示,它通常会是系统上安装的物理内存大小的三分之一左右。正如微软所说:

小内存转储(256kb):小内存转储是最小类型的内存转储。它包含的信息非常少-蓝屏信息、加载的驱动程序列表、进程信息和少量内核信息。它有助于识别错误,但提供的调试信息不如内核内存转储详细。

相关:您的页面文件或交换分区应该有多大?

自动内存转储:这是默认选项,它包含与内核内存转储完全相同的信息。微软表示,当页面文件设置为系统管理的大小,并且计算机配置为自动内存转储时,“Windows会将页面文件的大小设置得足够大,以确保大多数时间都可以捕获内核内存转储。”正如Microsoft指出的那样,在决定页面文件的大小时,崩溃转储是一个重要的考虑因素。页面文件必须足够大,才能包含内存数据。

(无):Windows在崩溃时不会创建内存转储。

内存转储是为开发人员准备的

存在这些转储文件是为了向您提供有关系统崩溃原因的信息。如果您是从事硬件驱动程序开发的Windows开发人员,这些内存转储文件中的信息可以帮助您确定硬件驱动程序导致计算机蓝屏的原因并解决问题。

但您可能只是一个普通的Windows用户,而不是在微软开发硬件驱动程序或处理Windows源代码的人。崩溃转储仍然有用。您自己可能不需要它们,但是如果您的计算机上的低级软件或硬件驱动程序有问题,您可能需要将它们发送给开发人员。例如,赛门铁克的网站称,“很多时候赛门铁克开发将需要来自受影响系统的完整内存转储,以确定崩溃的原因.”如果您遇到Windows本身的问题,崩溃转储可能也很有用,因为您可能需要将其发送给Microsoft。负责该软件的开发人员可以使用内存转储来准确查看崩溃时您的计算机上发生了什么,希望能让他们锁定并解决问题。

小型转储与内存转储

小型转储文件对几乎每个人都很有用,因为它们包含基本信息,如与蓝屏死亡相关的错误消息。默认情况下,它们存储在C:\Windows\Minidump文件夹中。这两种类型的转储文件都具有文件扩展名.dmp。

即使您的系统配置为创建内核、完整或自动内存转储,您也会得到一个小型转储文件和一个较大的MEMORY.DMP文件。

像NirSoft的BlueScreenView这样的工具可以显示这些小文件中包含的信息。您可以查看崩溃中涉及的确切驱动程序文件,这有助于确定问题的原因。由于小型转储非常有用且非常小,我们建议不要将内存转储设置设置为“(None)”-请确保至少将您的系统配置为创建小型内存转储。它们不会占用太多空间,如果您遇到问题,它们会帮助您。即使您自己不知道如何从小型转储文件中获取信息,您也可以找到软件工具和人员,他们可以使用这里的信息来帮助锁定和修复您的系统问题。

默认情况下,较大的内存转储(如内核内存转储和完整内存转储)存储在C:\WINDOWS\MEMORY.DMP中。Windows配置为在每次创建新的内存转储时覆盖此文件,因此您应该只有一个MEMORY.DMP文件占用空间。

虽然即使是普通Windows用户也可以使用小型转储来了解蓝屏的原因,但是MEMORY.DMP文件很少使用,除非您打算将其发送给开发人员,否则它没有什么用处。您可能不需要使用MEMORY.DMP文件中的调试信息来自行识别和修复问题。

删除内存转储以释放空间

相关:释放Windows硬盘空间的7种方法

您可以删除这些.dmp文件以释放空间,这是一个好主意,因为它们可能非常大-如果您的计算机是蓝屏的,则可能有一个800 MB或更大的MEMORY.DMP文件占用系统驱动器上的空间。

Windows帮助您自动删除这些文件。如果您使用磁盘清理实用程序并告诉它清理系统文件,您将看到这两种类型的内存转储都会出现在列表中。CCleaner和其他类似工具也可以自动删除内存转储。您应该不需要深入您的Windows文件夹并手动删除它们。

简而言之,更大的内存转储文件不是很有用,除非您计划将它们发送给Microsoft或其他软件开发人员,以便他们可以修复系统上出现的蓝屏。较小的小型转储文件更有用,因为它们包含有关系统崩溃的基本信息。

图片来源:Flickr上的Thawt Hawthje

相关文章