CentOS 6 でコア ダンプの場所を設定するには、/etc/sysctl.conf
を編集します。 .たとえば、/var/crash
でコア ダンプが必要な場合 :
kernel.core_pattern = /var/crash/core-%e-%s-%u-%g-%p-%t
変数の場所:
<ブロック引用>
%e ファイル名です
%g プロセスが実行されていた gid です
%p プロセスのpidです
%s ダンプの原因となったシグナル
%t ダンプが発生した時刻
%u プロセスが実行されていた uid です
また、 /etc/sysconfig/init
を追加する必要があります
DAEMON_COREFILE_LIMIT='unlimited'
新しい変更を適用します:
$ sysctl -p
しかし、この方法には注意点があります。 /etc/sysctl.conf
で値を手動で指定した場合でも、カーネル パラメーター kernel.core_pattern が常にリセットされ、再起動時に次の構成に上書きされる場合 :
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
要するに abrtd.service
の場合 kernel.core_pattern
を開始します インストールされたシステムによって自動的に上書きされます abrt-addon-ccpp
.これを解決するには 2 つの方法があります:
設定 DumpLocation
/etc/abrt/abrt.conf
のオプション 構成ファイル。宛先ディレクトリは、DumpLocation =/var/crash
を設定することで指定できます /etc/abrt/abrt.conf
で 構成ファイル、および sysctl kernel.core_pattern
の表示値は同じですが、実際には /var/crash
配下のディレクトリにコアファイルが作成されます .
また、SELinux を有効にしている場合は、以下を実行する必要があります:
$ semanage fcontext -a -t public_content_rw_t "/var/crash(/.*)?"
$ setsebool -P abrt_anon_write 1
最後に abrtd.service
を再起動します :
$ service abrtd.service restart
abrtd サービスを停止します。 kernel.core_pattern
上書きされません。 - (私はテストしたことがありません)。