Oracle® Solaris 11.2 でのシステム管理のトラブルシューティング

印刷ビューの終了

更新: 2014 年 9 月
 
 

コアファイル作成のパラメータ

プロセスに障害が発生すると、システムは、グローバルコアファイル名パターンおよびプロセス別コアファイル名パターンを使用して、障害の発生したプロセスごとに最大 2 つのコアファイルの作成を試み、それぞれのコアファイル名を作成します。coreadm コマンドでは、これらの名前パターンを制御し、コアファイルの場所を指定します。このセクションでは、ファイルパスとファイル名のパラメータについて説明します。コアダンププロセスの詳細は、 core (4) のマニュアルページを参照してください。coreadm オプションの詳細は、 coreadm (1M) のマニュアルページを参照してください。

構成可能なコアファイルのパス

プロセスが異常終了すると、コアファイルがデフォルトで現在のディレクトリに作成されます。グローバルコアファイルのパスが有効になっていると、プロセスが終了するたびにコアファイルが 2 つ、1 つは現在の作業ディレクトリに、1 つはグローバルコアファイルのディレクトリにそれぞれ作成されます。使用されるファイルパスは、構成可能なパラメータです。

    次の 2 つの構成可能なコアファイルのパスは、個別に有効または無効にできます。

  • プロセス別コアファイルのパスは、デフォルトでコアに設定されており、デフォルトで有効になっています。プロセス別コアファイルのパスが有効になっていると、プロセスが異常終了したときにコアファイルが生成されます。プロセス別のパスは、親プロセスから新しいプロセスに継承されます。

    プロセス別コアファイルは生成されるとプロセスの所有者によって所有され、所有者には読み取り/書き込み権が与えられます。所有者だけがこのファイルを表示できます。

  • グローバルコアファイルのパスは、デフォルトでコアに設定されており、デフォルトで無効になっています。このパスが有効になっていると、プロセス別コアファイルのパスと同じ内容のコアファイルがグローバルコアファイルのパスに追加で作成されます。

    グローバルコアファイルは生成されると root によって所有され、root だけに読み取り/書き込み権が与えられます。アクセス権のないユーザーはこのファイルを表示できません。


注 -  デフォルトでは、setuid プロセスは、グローバルの設定やプロセス別のパスを使ってコアファイルを生成することはありません。

拡張されたコアファイル名

コアファイルの名前には、障害の発生したプロセスの情報のフィールドが含まれます。コアファイル名のフィールドの詳細は、 coreadm (1M) のマニュアルページを参照してください。このセクションでは、グローバル変数について重点的に説明します。

グローバルコアファイルディレクトリが有効な場合、次の表に示す変数を使ってコアファイルを相互に区別できます。

%d

実行ファイルのディレクトリ名。最大文字数は MAXPATHLEN

%f

実行ファイルの名前。最大文字数は MAXCOMLEN

%g

実効グループ ID

%m

マシン名 (uname -m)

%n

システムノード名 (uname -n)

%p

プロセス ID

%t

time(2) の 10 進数

%u

実効ユーザー ID

%z

プロセスが実行されているゾーン名 (zonename)

%%

リテラル %

たとえば、/var/core/core.%f.%p がグローバルコアファイルパスとして設定されているとします。PID 12345sendmail プロセスが異常終了した場合は、コアファイルとして /var/core/core.sendmail.12345 が生成されます。

コアファイルダンプのパフォーマンスの改善

一部のプロセスのバイナリイメージをコアダンプから除外することで、システムのコアファイルダンプのパフォーマンスを改善できます。coreadm コマンドを入力して、コアダンプの仕様をカスタマイズすると、DISM マッピング、ISM マッピング、System V 共有メモリーなどをコアダンプから除外するように指定できます。手順については、 coreadm (1M) のマニュアルページを参照してください。