Windows Server 2008 Server Core におけるメモリ ダンプの設定方法

Windows Server 2008 Server Core エディションにおいて
メモリ ダンプの設定を構成するためには Wmic コマンドを
使用します。

設定方法
==============================
・メモリ ダンプの種類

wmic RECOVEROS set DebugInfoType=<NUM>

NUM に入る数字は採取したいメモリ ダンプ種別により、
以下の数値を入力します。

1 : 完全メモリ ダンプ
2 : カーネル メモリ ダンプ (既定値)
3 : 最小メモリ ダンプ
0 : メモリ ダンプの採取を無効にする

現在の設定を確認したい場合は以下のコマンドを実行します。

wmic RECOVEROS get DebugInfoType

・システム エラー発生後の自動再起動設定

wmic RECOVEROS set AutoReboot=true

true : 自動的に再起動する (既定値)
false : 自動的に再起動しない

現在の設定を確認したい場合は以下のコマンドを実行します。

wmic RECOVEROS get AutoReboot

・メモリ ダンプの出力先

wmic RECOVEROS set DebugFilePath=<FilePath>

<FilePath> にはファイル名を含んだパスを入力します。
既定の出力先は %systemroot%memory.dmp に設定されています。

例:wmic RECOVEROS set DebugFilePath=C:\WINDOWS\MEMORY.DMP

現在の設定を確認したい場合は以下のコマンドを実行します。

wmic RECOVEROS get DebugFilePath

・ 既存のファイルへの上書き設定

wmic RECOVEROS set OverwriteExistingDebugFile=<NUM>

0 : 上書きしない
1 : 上書きする (既定値)

現在の設定を確認したい場合は以下のコマンドを実行します。

wmic RECOVEROS get OverwriteExistingDebugFile

・ 管理者へ警告を送信する

wmic RECOVEROS set SendAdminAler=true

true : 管理者へ警告を送信する (既定値)
false : 管理者へ警告を送信しない

・ページング ファイル サイズの変更

Windows Server 2008 では、既定で、"全てのドライブの
ページング ファイルのサイズを自動的に管理する" 設定と
なっています。この場合、完全メモリ ダンプを採取するために
必要なページング ファイルのサイズが自動的に設定されるため、
既定値となっている場合には、ページング ファイルのサイズを
変更する必要はありません。

ページング ファイルの サイズを手動で変更する場合には、
以下のコマンドを実行します。

ページング ファイルの自動管理を無効にします。
wmic computersystem set AutomaticManagedPagefile=false

ページング ファイル サイズを変更します。
wmic pagefileset where name="c:\\pagefile.sys" set InitialSize=<IniSize>,
MaximumSize=<MaxSize>

MaxSize : ページング ファイルの最大サイズ
IniSize : ページング ファイルの初期サイズ

現在の設定を確認したい場合は以下のコマンドを実行します。

wmic pagefileset get MaximumSize,InitialSize

尚、物理メモリ搭載量がページング ファイルの
最大値よりも大きい場合、カーネル メモリ ダンプが
正しく生成されない場合がございます。その場合は、
以下のレジストリ値を追加します。

reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl /v
IgnorePagefileSize /t REG_DWORD /d 1 /f

補足
==============================
Windows Server 2008 Server Core Edition においても
キーボード操作によりメモリ ダンプを作成する機能があります。

この機能は、既定では無効になっています。
PS/2 キーボードを使用するコンピュータでこの機能を
有効にするには、以下のコマンドを実行し、レジストリを
編集してから、コンピュータを再起動します。
コンピュータの再起動後は、右の Ctrl キーを押しながら
ScrollLock キーを 2 回押すと、Memory.dmp ファイルが
生成されます。

尚、Windows Server 2008 では、USB キーボードを
使用してメモリ ダンプを取得することはできません。
メモリ ダンプを取得する場合には、PS/2 キーボードが
接続されていることを確認してください。

コマンド:

reg add
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters /v
CrashOnCtrlScroll /t REG_DWORD /d 1 /f

システムを再起動するために、以下のコマンドを実行します。

shutdown /r /t 0

設定を確認したい場合は以下のコマンドを実行します。

reg query
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters /v
CrashOnCtrlScroll

参考資料
==============================
Article ID : 949052
Kernel memory dump files may not be generated on Windows Server 2008-based and Windows Vista SP1-based computers when system memory is larger than the size of the
page file
https://support.microsoft.com/kb/949052/en-us

Article ID : 944564
How to generate a memory dump file by using a PS/2 keyboard in Windows Server 2008
https://support.microsoft.com/kb/944564/en-us

文書番号 : 307973
Windows でシステム障害と回復のオプションを構成する方法
https://support.microsoft.com/kb/307973/ja