コア ダンプの準備

注: このトピックは、Linux ベースのプラットフォームにのみ適用されます。

Linux ベースのプラットフォームでのセキュリティ強化により、必要なときにコア ダンプが生成されないことがあります。core_on_error=1、core_on_error=2、または signal_regime チューナーを使用している場合、セキュリティをオーバーライドしてコア ダンプが必要なアプリケーションを実行するには、次の手順を実行する必要があります(core_on_error=3 を使用している場合は、このセキュリティ拡張機能に関係なく、常にコア ダンプ ファイルが作成されます。代わりに、「コア ダンプを作成するには」の説明に従ってください)。

注: 次のコマンドは、root 権限で実行する必要があります。
  1. コア ダンプ ファイル全体が作成されなくなる可能性のあるサイズ制限を無効にします。
    ulimit -c unlimited
  2. コア ダンプを作成する形式および場所を指定します。コア ダンプ ファイルは、アプリケーションと同じディレクトリに core.process-id の形式で作成されます。
    echo "core.%p"> /proc/sys/kernel/core_pattern
    注: これは、現在のセッションに対してのみ設定されます。再起動後に形式および場所が維持されるようにするには、次の行を /etc/sysctl.conf 構成ファイルに追加します。
    kernel.core_pattern=core.%p
  3. コア ダンプ ファイルの生成を妨げている AppArmor アプリケーション (SUSE プラットフォーム) または Automatic Bug Reporting Tool (Red Hat プラットフォーム) を無効にします。

    SUSE:

    rcapparmor stop

    Red Hat:

    chkconfig abrt off
  4. setuid および setgid によってパーミッションが付与されたプロセスからの情報がコア ダンプに含まれていることを確認します。
    sysctl -w kernel.suid_dumpable=2
    注: このパーミッションのオーバーライドは、現在のセッションに対してのみ設定されます。再起動後も維持されるようにするには、次の行を /etc/sysctl.conf 構成ファイルに追加します。
    kernel.suid_dumpable=2
  5. コア ダンプ ファイルが必要なアプリケーションを実行します。

    ランタイム システムが未処理の信号を受信すると、コア ダンプ ファイルがアプリケーションと同じディレクトリに作成されます。