JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Solaris のシステム管理 (上級編)     Oracle Solaris 10 8/11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  端末とモデムの管理 (概要)

2.  端末とモデムの設定 (手順)

3.  サービスアクセス機能によるシリアルポートの管理 (手順)

4.  システム資源の管理 (概要)

5.  システム情報の表示と変更 (手順)

6.  ディスク使用の管理 (手順)

7.  UFS 割り当て制限の管理 (手順)

8.  システムタスクのスケジュール設定 (手順)

9.  システムアカウンティングの設定と管理 (手順)

10.  システムアカウンティング (リファレンス)

11.  システムパフォーマンスの管理 (概要)

12.  システムプロセスの管理 (手順)

13.  システムパフォーマンスの監視 (手順)

14.  ソフトウェアの問題解決 (概要)

15.  システムメッセージの管理

16.  コアファイルの管理 (手順)

コアファイルの管理 (作業マップ)

コアファイルの管理の概要

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

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

コアファイル名パターンの設定

setuid プログラムがコアファイルを作成できるようにする

現在のコアダンプ構成を表示する方法

コアファイル名パターンを設定する方法

プロセス別コアファイルパスを有効にする方法

グローバルのコアファイルパスを有効にする方法

コアファイルの問題解決

コアファイルの調査

17.  システムクラッシュ情報の管理 (手順)

18.  ソフトウェアで発生するさまざまな問題の解決 (手順)

19.  ファイルアクセスでの問題の解決 (手順)

20.  UFS ファイルシステムの不整合解決 (手順)

21.  ソフトウェアパッケージで発生する問題の解決 (手順)

索引

コアファイルの管理の概要

コアファイルは、プロセスまたはアプリケーションが異常終了した場合に生成されます。コアファイルは coreadm コマンドで管理します。

たとえば、coreadm コマンドを使用して、プロセスコアファイルをすべて同じシステムディレクトリに置くようにシステムを構成できます。プロセスやデーモンが異常終了した場合に、特定のディレクトリにあるコアファイルを調べればよいため、問題の追跡が容易になります。

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

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

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

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

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

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

変数名
変数の定義
%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 コマンドでは、デフォルトのプロセス別コアファイルパターンを設定します。この設定は、デフォルトのコアファイルパターンを明示的に上書きしていないプロセスに対して適用されます。この設定はシステムリブート後も有効です。

# coreadm -i /var/core/core.%f.%p

次の coreadm コマンドでは、任意のプロセスに対しプロセス別コアファイル名パターンを設定します。

$ coreadm -p /var/core/core.%f.%p $$

$$ 記号には、現在実行中のシェルのプロセス ID を指定します。プロセス別コアファイル名パターンは、すべての子プロセスに継承されます。

グローバルまたはプロセス別のコアファイル名パターンを設定したら、これを coreadm -e コマンドで有効にする必要があります。詳細については次の手順を参照してください。

このコマンドをユーザーの $HOME/.profile または $HOME/.login ファイルに入れておけば、ユーザーのログインセッションで実行するすべてのプロセスに対しコアファイル名パターンを設定できます。

setuid プログラムがコアファイルを作成できるようにする

coreadm コマンドを使って setuid プログラムを有効または無効にすれば、次のパス設定を行うことによって、すべてのシステムプロセスに対して、または各プロセスに対してコアファイルを作成できます。

デフォルトでは、両方のフラグが無効になっています。セキュリティー上の理由により、グローバルコアファイルパスは、/ で始まるフルパス名であることが必要です。スーパーユーザーがプロセス別コアファイルを無効にすると、個別のユーザーがコアファイルを得ることはできなくなります。

setuid コアファイルはスーパーユーザーによって所有され、スーパーユーザーだけに読み取り/書き込み権が与えられます。通常ユーザーは、たとえ setuid コアファイルを生成したプロセスを所有していても、それらのファイルにアクセスできません。

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

現在のコアダンプ構成を表示する方法

現在のコアダンプ構成を表示するには、オプションを指定しないで coreadm コマンドを実行します。

$ coreadm
               global core file pattern: 
     global core file content: default
       init core file pattern: core
       init core file content: default
            global core dumps: disabled
       per-process core dumps: enabled
      global setid core dumps: disabled
 per-process setid core dumps: disabled
     global core dump logging: disabled

コアファイル名パターンを設定する方法

プロセス別コアファイルパスを有効にする方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。

  2. プロセス別コアファイルのパスを有効にする
    # coreadm -e process
  3. 現在のプロセスのコアファイルパスを表示して構成を確認します。
    $ coreadm $$
    1180:   /home/kryten/corefiles/%f.%p

グローバルのコアファイルパスを有効にする方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。

  2. グローバルのコアファイルのパスを有効にする
    # coreadm -e global -g /var/core/core.%f.%p
  3. 現在のプロセスのコアファイルパスを表示して構成を確認します。
    # coreadm
           global core file pattern: /var/core/core.%f.%p
         global core file content: default
           init core file pattern: core
           init core file content: default
                global core dumps: enabled
           per-process core dumps: enabled
          global setid core dumps: disabled
     per-process setid core dumps: disabled
         global core dump logging: disabled