为服务器核心安装配置内存转储文件
使用以下步骤为服务器核心安装配置内存转储。
步骤 1:禁用自动系统页文件管理
第一步是手动配置系统故障和恢复选项。 必须先完成此步骤才能执行其余步骤。
运行以下命令:
wmic computersystem set AutomaticManagedPagefile=False
步骤 2:配置内存转储的目标路径
无需在安装操作系统的分区上具有页面文件。 若要将页面文件放在另一个分区上,必须创建名为 DedicatedDumpFile 的新注册表项。 可以使用 DumpFileSize 注册表项定义分页文件的大小。 若要创建 DedicatedDumpFile 和 DumpFileSize 注册表项,请执行以下步骤:
在命令提示符下,运行 regedit 命令以打开注册表编辑器。
找到并单击以下注册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
单击编辑 > 新建 > 字符串值。
将新值命名为 DedicatedDumpFile,然后按 Enter 键。
右键单击 DedicatedDumpFile,然后单击修改。
在数值数据中键入 <驱动器>:\<Dedicateddumpfile.sys>,然后单击确定。
注意
将 <Drive> 替换为具有足够磁盘空间用于分页文件的驱动器,并将 <Dedicateddumpfile.dmp> 替换为专用文件的完整路径。
单击编辑 > 新建 > DWORD 值。
键入 DumpFileSize,然后按 Enter 键。
右键单击 DumpFileSize,然后单击修改。
在编辑 DWORD 值中的基数下,单击十进制。
在数值数据中,键入适当的值,然后单击确定。
注意
转储文件的大小以兆字节 (MB) 为单位。
退出注册表编辑器。
确定内存转储的分区位置后,请配置页面文件的目标路径。 若要查看页面文件的当前目标路径,请运行以下命令:
wmic RECOVEROS get DebugFilePath
DebugFilePath 的默认目标是 %systemroot%\memory.dmp。 要更改当前目标路径,请运行以下命令:
wmic RECOVEROS set DebugFilePath = <FilePath>
将 FilePath 设置为目标路径。<> 例如,以下命令将内存转储目标路径设置为 C:\WINDOWS\MEMORY.DMP:
wmic RECOVEROS set DebugFilePath = C:\WINDOWS\MEMORY.DMP
步骤 3:设置内存转储的类型
确定要为服务器配置的内存转储类型。 要查看当前内存转储类型,请运行以下命令:
wmic RECOVEROS get DebugInfoType
要更改当前内存转储类型,请运行以下命令:
wmic RECOVEROS set DebugInfoType = <Value>
<Value> 可以是 0、1、2 或 3,定义如下。
- 0:禁止删除内存转储。
- 1:完整内存转储。 当计算机意外停止时,记录系统内存的所有内容。 完全内存转储可能包含来自收集内存转储时正在运行的进程的数据。
- 2:内核内存转储(默认)。 仅记录内核内存。 当计算机意外停止时,这可以加快在日志文件中记录信息的过程。
- 3:小规模内存转储。 记录可能有助于确定计算机意外停止原因的有用信息的最小集合。
步骤 4:将服务器配置为在生成内存转储后自动重新启动
默认情况下,服务器在生成内存转储后会自动重新启动。 若要查看当前配置,请运行以下命令:
wmic RECOVEROS get AutoReboot
如果 AutoReboot 的值为 true,则服务器将在生成内存转储后自动重新启动。 不需要进行任何配置,你可以继续执行下一步。
如果 AutoReboot 的值为 false,则服务器不会自动重新启动。 运行以下命令以更改值:
wmic RECOVEROS set AutoReboot = true
步骤 5:配置服务器以覆盖现有的内存转储文件
默认情况下,服务器会在创建新的内存转储文件时覆盖现有的内存转储文件。 要确定现有内存转储文件是否已配置为要覆盖,请运行以下命令:
wmic RECOVEROS get OverwriteExistingDebugFile
如果该值为 1,则服务器将覆盖现有的内存转储文件。 不需要进行任何配置,你可以继续执行下一步。
如果该值为 0,则服务器不会覆盖现有的内存转储文件。 运行以下命令以更改值:
wmic RECOVEROS set OverwriteExistingDebugFile = 1
步骤 6:设置管理警报
确定管理警报是否适当,并相应地设置 SendAdminAlert。 要查看 SendAdminAlert 的当前值,请运行以下命令:
wmic RECOVEROS get SendAdminAlert
SendAdminAlert 的值可以是 TRUE 或 FALSE。 要将现有的 SendAdminAlert 值修改为 true,请运行以下命令:
wmic RECOVEROS set SendAdminAlert = true
步骤 7:设置内存转储的页面文件大小
要检查当前页面文件设置,请运行以下命令之一:
wmic.exe pagefile
或
wmic.exe pagefile list /format:list
例如,运行以下命令以配置页面文件的初始大小和最大大小:
wmic pagefileset where name="c:\\pagefile.sys" set InitialSize=1000,MaximumSize=5000
步骤 8:配置服务器以生成手动内存转储
可以使用 PS/2 键盘手动生成内存转储。 默认情况下,此功能处于禁用状态,并且不适用于通用串行总线 (USB) 键盘。
要使用 PS/2 键盘启用手动内存转储,请运行以下命令:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters /v CrashOnCtrlScroll /t REG_DWORD /d 1 /f
要确定该功能是否已正确启用,请运行以下命令:
Reg query HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ i8042prt \ Parameters / v CrashOnCtrlScroll
若要使更改生效,必须重新启动服务器。 可以通过运行以下命令重新启动服务器:
Shutdown / r / t 0
可以使用连接到服务器的 PS/2 键盘生成手动内存转储,方法是在按住右 Ctrl 键的同时按两次 SCROLL LOCK 键。 这会让计算机进行 bug 检查,且错误代码为 0xE2。 重新启动服务器后,在步骤 2 中建立的目标路径中将出现一个新的转储文件。
步骤 9:验证是否正确创建了内存转储文件
可使用 dumpchk.exe 实用工具来验证是否正确创建了内存转储文件。 dumpchk.exe 实用程序不会与服务器核心安装选项一起安装,因此你必须从具有桌面体验的服务器或从 Windows 10 运行此实用程序。 此外,必须安装 Windows 产品的调试工具。
dumpchk.exe 实用程序允许你使用你选择的介质将内存转储文件从 Windows Server 2008 的服务器核心安装传输到其他计算机。
警告
页面文件可能非常大,因此请仔细考虑传输方法和该方法所需的资源。
其他参考
有关使用内存转储文件的一般信息,请参阅 Windows 内存转储文件选项概述。
有关专用转储文件的详细信息,请参阅如何使用 DedicatedDeumpFile 注册表值在捕获系统内存转储时解决系统驱动器上的空间限制。