Go to main content
Oracle® Solaris 11.3 でのシステム管理のトラブルシューティング

印刷ビューの終了

更新: 2016 年 11 月
 
 

システムクラッシュについて

ハードウェアの障害、入出力の問題、ソフトウェアエラーなどが原因でシステムがクラッシュすることがあります。システムがクラッシュする場合、コンソールにエラーメッセージが表示され、その物理メモリーのコピーが RAM に保存されるか、物理メモリーのコピーがダンプデバイスに書き込まれます。その後、システムは自動的にリブートします。システムがリブートすると、savecore コマンドが実行され、メモリーまたはダンプデバイスのデータを取り出して、保存されたクラッシュダンプファイルを savecore ディレクトリに書き込みます。これらの保存されたファイルは、問題を診断する上で貴重な情報となります。


注 -  「クラッシュダンプ」の用語は、クラッシュダンプファイルのセット、ファイルの配置場所、これらのファイルの編成および書式設定の方法を含む、このプロセスの全体の結果を指します。

システムクラッシュダンプファイル

savecore コマンドは、システムがクラッシュすると自動的に実行され、メモリーまたはダンプデバイスからクラッシュダンプ情報を取得し、その情報をファイルのセットに書き込みます。その後、savecore コマンドを同じシステムまたは別のシステムで呼び出し、クラッシュダンプファイルを展開または圧縮できます。


注 -  クラッシュダンプファイルはコアファイルと混同されることがあります。コアファイルは、アプリケーションが異常終了したときに書き込まれるユーザーアプリケーションのイメージです。

クラッシュダンプファイルは、あらかじめ決められたディレクトリに保存され、デフォルトは /var/crash/ です。クラッシュダンプファイルの保存はデフォルトで有効です。

再構築されたファイル

Oracle Solaris 11.2 リリース以降、カーネルクラッシュダンプファイルの内容は、その内容に基づいて複数の新しいファイルに分割されます。この方法では、構成の精度を高くできるため、ファイルにより簡単にアクセスして調べることができます。

クラッシュダンプ情報は、vmdump-section.n ファイルのセットに書き込まれます。セクション値は、特定の種類のダンプ情報を含むファイルセクションの名前です。n 値は、savecore が実行され、クラッシュダンプをコピーし、新しいクラッシュダンプがダンプデバイスに見つかるたびに増分される整数です。設定可能なファイルは次のとおりです。

  • vmdump-proc.n – プロセスページが圧縮されたダンプファイル

  • vmdump-zfs.n– ZFS メタデータが圧縮されたダンプファイル

  • vmdump-other.n – ほかのページがあるダンプファイル

カーネルクラッシュダンプは、以前は vmdump.nunix.n、および vmcore.n に格納されていました。

vmdump.n および vmcore ファイルにはカーネルページ (メタデータとデータ) がそれぞれ圧縮形式または非圧縮形式で格納されます。

詳細は、dumpadm(1M) および savecore(1M) のマニュアルページを参照してください。

dumpadm および savecore コマンド

dumpadm および savecore ユーティリティーは、次のようにクラッシュダンプの作成を構成および管理します。

  1. dumpadm コマンドは、システム起動時に svc:/system/dumpadm:default サービスによって呼び出され、クラッシュダンプパラメータを構成します。/dev/dump インタフェースを通してダンプデバイスとダンプ内容を初期化します。

  2. ダンプ構成の完了後に、savecore を呼び出して、RAM またはダンプデバイスにクラッシュダンプがあるかどうかを調べたり、クラッシュダンプディレクトリにある minfree ファイルの内容を確認したりします。savecore コマンドで生成されるシステムクラッシュダンプファイルは、デフォルトで保存されます。

  3. ダンプデータは、圧縮した形式でダンプデバイスに格納されます。カーネルのクラッシュダンプイメージは 128G バイトを超える場合があります。データを圧縮することにより、ダンプが速くなり、ダンプデバイスのディスク領域も少なくてすみます。

  4. デフォルトでは、インストールプログラムは専用のダンプサービスを作成します。システムは、savecore コマンドが完了するまで待ってから、次の段階に進みます。大容量のメモリーを搭載したシステムでは、savecore が完了する前にシステムが使用可能になります。

savecore –L コマンドを使用すると、管理者は、Oracle Solaris OS を現在実行中のシステムのクラッシュダンプを取得できます。たとえば、パフォーマンスに一時的な問題が発生しているときやサービスが停止しているときなどにメモリーのイメージをとって、実行中のシステムをトラブルシューティングするのに使用します。このメモリーのイメージは、システムの実行中に発生する変更が原因で不正確です。システムが稼働中で、一部のコマンドをまだ実行できる場合は、savecore –L コマンドを実行してシステムのイメージをダンプデバイスに保存し、クラッシュダンプファイルをただちに savecore ディレクトリに書き込むことができます。savecore –L コマンドは、専用のダンプデバイスを構成した場合にかぎり使用できます。