OS がハングアップしてしまう事象の調査 (Hyper-V ホスト)

目次

本記事はマイクロソフト社員によって公開されております。

いつも弊社製品をご利用いただきまして誠にありがとうございます。 Windows プラットフォーム サポートの石田です。 弊社にお問い合わせいただく際に、事前に採取しておいたほうが良い内容についてご紹介させていただきます。 今回のテーマは「Hyper-V ホスト OS がハングアップする事象が発生した際に、採取すべき資料について」です。

採取いただく資料

  • メモリダンプファイル (%systemroot%\Memory.dmp) ※ 再現性がある場合
  • サポートログ情報 (shaclollector の support オプションのログ)

[A] 事象の再現性がある場合

  1. メモリーダンプの設定を行います。

    Hyper-V ホスト環境にてシステムドライブ (C ドライブ) に完全メモリーダンプファイルを保存できる空き領域 (目安: 搭載 RAM の 2 倍以上) がある場合は、完全メモリーダンプを採取してください。

    内蔵ディスクに搭載 RAM の 2 倍以上の空き領域がない場合は、アクティブメモリーダンプを採取してください。

    完全メモリーダンプの設定

    1. PageFile の大きさを 物理メモリ + 400 Mbyte 以上の大きさに設定します。

      例えば、物理メモリ 8192 MB( 8 GB)を搭載の場合は、初期サイズに 8592 MB 以上を設定します。

      a) [スタート] - [コンピュータ] を右クリックし [プロパティ(R)] をクリックします。

      b) [システムの詳細設定(A)] をクリックします。

      c) [詳細設定] タブの [パフォーマンス] にある [設定(S)] をクリックします。

      d) [詳細設定] タブの [仮想メモリ] の項目にある [変更(C)] ボタンをクリックします。

      e) この画面にて、[すべてのドライブのページング ファイルのサイズを自動的に管理する(A)] オプションを外します。

      f) システムボリューム (通常 C: ) をクリックします。

      g) [カスタムサイズ] にチェックを付け、[初期サイズ]、[最大サイズ] の両方に物理メモリ + 400 Mbyte 以上の値を入力します。

      h) その後 [設定] ボタンをクリックし設定を反映させ [OK] ボタンをクリックします。

      i) “変更結果はコンピューターを再起動しなければ有効になりません。” というポップアップが表示されますので、[OK] ボタンをクリックします。

      j) “パフォーマンス オプション” のウィンドウも [OK] ボタンにて閉じます。

    2. 完全メモリ ダンプ (Full Dump) を取得するためのレジストリを設定します。

      a) コマンドプロンプトを管理者モードで起動します。

      b) レジストリの設定を行うため、以下のコマンドを実行します。

      ※ reg コマンドは1行ずつ正確に実行してください。

      reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl /v CrashDumpEnabled /t REG_DWORD /d 0x1
      

      ※ Windows Server 2008/2008 R2 および Windows 7 の場合は NMICrashDump も設定します。

      reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl /v NMICrashDump /t REG_DWORD /d 0x1
      
    3. OS を再起動し、上記設定変更を反映させます。

    アクティブメモリーダンプの設定

    1. PageFile の大きさをホスト OS が利用可能なメモリサイズ以上の大きさに設定します。

      目安としては、搭載 RAM サイズからすべての稼働している仮想マシンに割り当ててているメモリサイズを引いた値を算出し、その値以上のサイズを設定してください。

      ※ ダンプファイルはホスト OS が利用していたメモリサイズ分のサイズが保存されますので、メモリーダンプ出力時に収まるよう空き領域は確保しておきます。

      a) [スタート] - [コンピュータ] を右クリックし [プロパティ(R)] をクリックします。

      b) [システムの詳細設定(A)] をクリックします。

      c) [詳細設定] タブの [パフォーマンス] にある [設定(S)] をクリックします。

      d) [詳細設定] タブの [仮想メモリ] の項目にある [変更(C)] ボタンをクリックします。

      e) この画面にて、[すべてのドライブのページング ファイルのサイズを自動的に管理する(A)] オプションを外します。

      f) システムボリューム (通常 C: ) をクリックします。

      g) [カスタムサイズ] にチェックを付け、[初期サイズ]、[最大サイズ] の両方にページファイルのサイズ値 (MB) を入力します。

      h) その後 [設定] ボタンをクリックし設定を反映させ [OK] ボタンをクリックします。

      i) “変更結果はコンピューターを再起動しなければ有効になりません。” というポップアップが表示されますので、[OK] ボタンをクリックします。

      j) “パフォーマンス オプション” のウィンドウも [OK] ボタンにて閉じます。

    2. アクティブ メモリーダンプの設定を行います。

      a) [スタート] - [コンピュータ] を右クリックし [プロパティ(R)] をクリックします。

      b) [システムの詳細設定(A)] をクリックします。

      c) [詳細設定] タブの [起動と回復] にある [設定(S)] をクリックします。

      d) [デバッグ情報の書き込み] より [アクティブ メモリ ダンプ] を選択します。

    3. OS を再起動し、上記設定変更を反映させます。

  2. 現象が発生しましたら、サーバーに搭載されているダンプスイッチ (NMI) を押下します。

    NMI が送信されると、OS はブルースクリーンが発生し、再起動時にメモリーダンプ (既定: C:\Windows\MEMORY.DMP) が作成されます。

    NMI の送信方法は、ご利用のハードウェア製品サポートベンダー様へご確認ください。

    ※ ご利用のハードウェアにて自動回復機能 (ASR) が有効になっている場合はメモリーダンプが取得できるまで、無効に設定をお願いいたします。メモリーダンプ作成は起動に時間がかかるため、ダンプ生成中に ASR の機能でリセットが発生し、メモリーダンプの生成が失敗する場合がございます。

  3. 再起動しましたら、以下の URL より “shacollector.zip” をダウンロードおよび展開いただき、対象端末へ配置します。

    ダウンロード先: shacollector.zip

    shacollector の使い方についてはこちら

    (注意) shacollector は機能の拡張などにより内容が変更されることがあります。 そのため、毎回上記のダウンロード先から shacollector を取得いただき利用してください。

  4. 管理者権限のコマンドプロンプトから配置した “shacollector” フォルダーへ移動して、以下のコマンドを実行の上、サポート情報ログの採取を実施します。

    shacollector.bat support all C:\mslog
    

    ※ 出力先フォルダー名に C:\mslog 以外のフォルダーを指定することも可能です。

  5. 作成された完全メモリーダンプファイル (MEMORY.DMP) と生成されましたログの出力先フォルダーを圧縮の上、弊社までご提供ください。

[B] 事象の再現性がない場合

事象に再現性がない場合は、原因の特定が困難になります。システム構成やログから過去の類似事例を調査いたしますので、以下の Web ページ記載の資料採取をお願いします。

初期調査にご取得いただくログ情報

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。