初期設定でメモリダンプ設定を変更しておこう!トラブル調査のために…

Windows Server
スポンサーリンク

Windows Serverの初期設定で変更しておく点として、メモリダンプの設定があります。その理由は、ややネガティブな話ですが、システム障害の原因調査のためです。「そのとき設定変更すればいいや」…それだとダメなんです。その理由を含めて解説します。

推奨設定:重要なシステムサーバー

重要なシステムが稼働しているWindows Serverは、初期セットアップ時に次の設定にしておくと、トラブル時の原因調査がしやすくなります。

[システムのプロパティ] > [詳細設定] > [起動と回復] を開き、下図のように [デバッグ情報の書き込み] を「完全メモリダンプ」または「アクティブメモリダンプ」に変更し、再起動します。

推奨の理由

「メモリダンプなんて取得しても解析できないよ!」と思われるかもしれませんが、メーカーサポートに調査を依頼する場合に必要になることが多いのです。

なぜメモリダンプが必要か

OSやアプリケーションソフトの動作異常(ハングアップやスローダウン)によって、システム障害が起きてしまった場合、そのメーカーのサポート窓口に調査を依頼するのが一般的だと思います。その際、メーカーが原因分析するためにメモリダンプファイルが必要になるケースが多いためです。

ソフトウェアメーカーからしても、システム環境は多種多様です。前述のような異常は、簡単に再現しないことが多く、事象が起きていない状態では有効に調査できません。そのため、事象発生時のメモリダンプがカギになるわけです。そのメモリダンプには、問題のソフトウェアのメモリデータが含まれている必要があります。

初期設定(自動メモリダンプ)ではダメか

上で紹介したメモリダンプ設定は、デフォルトで「自動メモリダンプ」になっています。詳しい動作はMicrosoftのページ[外部サイト] などを参照するとして、この設定だとダンプ範囲が狭く、問題となるアプリケーションのメモリデータが含まれていないことが多いのです。「完全メモリダンプ」であれば、すべてのメモリデータが含まれるため、メーカーサポートからはこちらの設定にするよう求められます。

そして、この設定の変更にはOS再起動が必要です。いざ問題が起きた時に、「完全メモリダンプ」などに変更しようとしても、それが反映されるのは再起動後。再起動後にメモリダンプを取得しても、問題の事象が起こらなくなっている可能性が高く、役に立ちません。

「原因が分からず、また障害が起こるかもしれない」という状態で、重要なシステムを稼働し続けるのは不安なものです。利用者側もその状態を許容せず、管理側に何らかの対策を求めることが多いでしょう。もしこれが「メモリダンプが採取できていて、メーカーサポートがそれを分析調査中」という状況であれば全然違っています。自分たちの心の平穏のためにも、いつでも必要なメモリダンプが取れる状態にしておいた方が良いと思います。

補足:アクティブメモリダンプでも多分OK

メーカーサポートからは「完全メモリダンプ」にするよう求められることが多いと思いますが、おそらくは「アクティブメモリダンプ」でも大丈夫だと思います。

アクティブメモリダンプはWindows Server 2016(およびWindows 10)以降から選べるようになった設定です。完全メモリダンプから不要なデータを抜いたものが採取できる、と理解すれば良いかと思います。詳しい解説は、Microsoftのページ[外部サイト] などを参照ください。

私はこの設定でメーカーサポートに調査依頼した経験はないですが、仕組み上こちらでも事足りると思います。そしてこちらの方が、ダンプサイズが小さくなり、サポートに送付する際に都合がよいです。

ストレージ容量に注意

「完全メモリダンプ」や「アクティブメモリダンプ」に設定すると、Cドライブなどのストレージをより多く消費します。基本的にメモリサイズに相当するダンプデータを格納する必要があるためです。そのため、運用途中に設定変更する場合は注意が必要です。

私は別記事で紹介している通り、Cドライブの設計容量として「搭載メモリ容量×2」+OSとアプリケーション分「40GB」を目安にしています。 構築設計時点でメモリダンプを考慮しておけば安心です。途中で設定変更する場合は、前述の容量があるか確認すると良いでしょう。

フィードバック

コメント

タイトルとURLをコピーしました