系统Page File,用于Windows操作系统的缓存和debug,一般存放于C盘根目录下,当Windows操作系统出现蓝屏时,会将对应的内存dump写入系统Page File。

 

随着ESXi5.0的发布,大内存虚拟机成为可能,某些虚拟机的内存甚至达到64GB或更大,对应的Page File也要占用C盘下如此之多的空间。在Windows Vista以后的系统,有一个Dedicated Dump File功能可以不必将内存dump保存在系统Page File下。

 

第一步是设定Dedicated Dump File路径,这个文件其实也是一种page file,可以通过编辑注册表开启:

Location: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl

Name: DedicatedDumpFile

Type: REG_SZ

Value: 文件路径,例如 D:\dedicateddumpfile.sys

你可以把这个文件指定在任何路径,甚至某个磁盘下的子目录下也可以。默认系统会自己决定需要多大的空间来存放这个文件,大小最大为机器内存的大小+256MB,比如一台Windows Server 2008的服务器内存是32GB,则这个文件最大就是32GB+256MB。请确保你选择的磁盘有足够的空间,否则会造成无法生成这个文件。

 

第二步,设定Final Dump File路径。

Location: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl

Name: DumpFile

Type: REG_EXPAND_SZ

Value: 文件路径,比如 D:\memory.dmp

 

完成以上两步后,当出现蓝屏或者系统crash后,Windows会将Dedicated Dump File中的内存dump数据解压到这个Final Dump File中,而无需从系统Page File中抓去内存数据。

建议将以上两个路径放在同一个磁盘下,这样在转存过程中就只需将数据移动到Final Dump File中,而不是复制过去。

 

以下是注册表中设定了这两个值的例子:

p_w_picpath