CLOUD NAVIクラウドとは?からクラウドを支える技術や関連用語まで解説

FJcloud実践

メモリダンプの手動取得方法~Windows Server編~

2024年11月29日
メモリダンプの手動取得方法~Windows Server編~

本記事では、Windows Serverの仮想サーバーにて、手動でメモリダンプを取得する方法を、検証結果をもとに解説します。

メモリダンプとは、コンピューターのメモリの内容を記録したファイルのことです。プログラムの異常終了やシステムのクラッシュの原因を調べるのに役立ちます。

本記事では、メモリダンプを取得する手順を、以下の3つのステップに分けて解説します。

  • メモリダンプ取得準備
  • メモリダンプ取得
  • メモリダンプ取得確認

この手順に従うことで、Windows Serverの仮想サーバーにて、手動でメモリダンプを取得することができます。

メモリダンプを取得する際は、本記事を活用してください。

なお、Linuxのメモリダンプの手動取得方法は、「メモリダンプの手動取得方法~Linux編~」を参考にしてください。

前提条件

本記事は、以下の前提知識がある方を想定しています。

  • FJcloud-Vの基本的なコントロールパネルの操作、サービスを利用する知識
  • Windows Serverの基本的な操作、知識

検証概要

Windows Serverの仮想サーバー上にて、メモリダンプを取得します。メモリダンプの取得には、Sysinternals NotMyFault ツール(製品バージョン4.21) (以下NotMyFaultツールと記載)を使用します。サーバーの操作には、コンソール接続を使用します。

NotMyFaultツールのダウンロードおよび使い方は、Microsoft Learnの「メモリ ダンプ ファイルを手動で生成する」を参照してください。

リモートデスクトップ接続でも同様の操作はできますが、メモリダンプ取得時には、仮想サーバーとの接続が切断されます。ブルースクリーンでのメモリダンプ取得状況が把握できないため、今回は、コンソール接続を使用します。

利用リソース

リソース 数量 タイプ 用途等
仮想サーバー 1 c2-small2 OSイメージ:Windows Server 2022 DCを選択

検証前の準備

検証前の準備として、以下の作業を実施しておきます。

※メモリダンプ取得中は、ブルースクリーンとなり仮想サーバーは利用できません。
 あらかじめ作業時間を調整の上、メモリダンプを取得することを推奨します。
 環境により取得時間は変化するため注意してください。

メモリダンプ取得

以下のステップで、メモリダンプを取得します。

  • メモリダンプ取得準備
  • メモリダンプ取得
  • メモリダンプ取得確認

メモリダンプ取得準備

サーバーにログインし、NotMyFaultツール(NotMyFault.zip)を展開します。

  • サーバーのコンソール接続を起動し、サーバー作成時に設定した「管理者パスワード」を入力してログインします。
    クラウドユーザーガイド(コンピューティング:コンソール接続する:Windows系OSの場合)
  • 仮想サーバーにて、メモリ ダンプ ファイルを手動で生成するへアクセスし、NotMyFault ツール(NotMyFault.zip)をダウンロードします。もしくは、別端末でNotMyFault ツールをダウンロードし、仮想サーバーへアップロードします。
  • ダウンロードしたNotMyFault ツール(NotMyFault.zip)を展開します。
    • NotMyFault.zipを右クリックし、「すべて展開」を選択します。
      11_NotMyFaultzip_expandall
    • zipファイルの展開先を指定し、「展開」ボタンを押下します。
      12_NotMyFaultzip_expand
    • zipファイルが展開されます。Windows Server 2022は64bitであるため、今回は、notmyfault64.exeを使用します。
      13_notmyfault64exe

メモリダンプ取得

展開したNotMyFaultツールを使用し、メモリダンプを取得します。

  • [スタート]ー[Windows システムツール]ー[コマンドプロンプト]をクリックし、コマンドプロンプトを起動します。
    21_CMDexe
  • コマンドプロンプトにて、NotMyFaultツールを展開したフォルダへ移動し、「notmyfault64.exe /crash」コマンドを実行します。
    例)展開先フォルダが「C:\Users\nifcloud\Downloads\NotMyFault」の場合
    > cd  C:\Users\nifcloud\Downloads\NotMyFault
    > notmyfault64.exe /crash
  • ユーザーアカウント制御のダイアログが出力した場合、「はい」ボタンを押下します。
    22_UACdialog
  • NotMyFault License Agreementのダイアログが出力した場合、ダイアログの記載内容を確認し、「Agree」ボタンを押下します。
    23_LicenseAgree
  • ブルースクリーンになり、メモリダンプが取得されます。処理が完了するまで、待ちます。処理が完了すると、サーバーが自動的に再起動します。
    24_bluescreen

メモリダンプ取得確認

取得したメモリダンプのファイルが存在しているか確認します。

  • サーバーのコンソール接続にて、サーバー作成時に設定した「管理者パスワード」を入力してログインします。
    クラウドユーザーガイド(コンピューティング:コンソール接続する:Windows系OSの場合)
  • ログイン後、「システムシャットダウンイベントの追跡ツール」が起動します。必要事項を選択、入力し、「OK」ボタンを押下します。
    31_eventtool
  • メモリダンプのファイルは、通常「C:\Windows\MEMORY.DMP」に出力されます。このファイルの更新日時がメモリダンプを取得した日時と一致しているか(古い日時ではないか)確認してください。
    メモリダンプのデフォルト設定では、「既存のファイルに上書きする」になっており、1世代管理です。
    ファイルの更新日時が古い場合は、メモリダンプが取得できていません。再度、メモリダンプを取得してください。
    32_MEMOERYDMP
  • メモリダンプファイルが「C:\Windows\MEMORY.DMP」に存在しない場合は、[スタート]ー[設定]ー[システム]ー[詳細情報]ー[システムの詳細設定]ー[起動と回復]にて、出力先の設定を確認してください。
    33_MEMORYDMPpath
    デフォルト設定は、「%SystemRoot%MEMORY.DMP(C:\Windows\MEMORY.DMP)」です。

まとめ

NotMyFaultツールを使用した、Windows Serverのメモリダンプの取得方法について、検証した結果をまとめました。メモリダンプの取得は、一般的に以下の方法で取得することができます。

  • NMIをサーバーに送付する
  • キーボード操作による強制的なシステムクラッシュを実行する

ただ、FJcloud-Vでは、NMIを仮想サーバーに送付する機能は提供していません。また、操作する端末によっては、キーボード操作による強制的なシステムクラッシュの実行が、うまく機能しない場合もあるかと思います。
本記事が、メモリダンプを手動取得する方法の1つとして、参考になれば幸いです。

注意事項

  • 本記事の他社サイトへのリンクにつきまして、リンク切れの際はご容赦ください。
  • 本記事ではOS上の操作についても記載していますが、FJcloud-VではOS以上はご利用者様の責任範囲となりますのでご留意ください。
  • メモリダンプの設定については、お客様の契約するOSベンダーのサポート担当の指示のもと実行してください。
  • NotMyFaultツールを実行した結果、想定外の不具合が生じるなどの問題が発生した場合でも弊社での責任は負いかねますのでご了承ください。
  • 本記事に記載されている会社名、製品名等の固有名詞は各社の商号、登録商標または商標です。
  • 本記事は、2024年9月時点の情報です。ご利用の際は、各サービス/FJcloud-Vの機能、OSベンダーの最新情報をご確認ください。
PageTop