systemdに移行した後、コアダンプはありません。

systemdに移行した後、コアダンプはありません。

以前は、コアダンプの生成は正常に機能していましたが、systemdに切り替えた後はこのメッセージのみが表示されます。

Aborted (core dumped)

しかし、coreファイルは生成されません。 systemdに関連していますか?

(背景:私の元の質問は以下で見つけることができます。ここ。解決策を見つけたshaibaに感謝します。これがシステムの問題であることをすでに知っている他の人が解決策を見つけやすくするために、このQ&Aを提供します。 )

答え1

デフォルトでは、systemdはコアダンプをログに書き込みます。coredumpctl list欠落しているコアダンプを一覧表示します。

ファイルはに保存されます/var/lib/systemd/coredumpcoredumpctl dumpコアファイルにアクセスするために使用されます。

たとえば、PID が 10666 の場合、次のものを使用できます。

coredumpctl dump 10666 --output /tmp/core.10666

systemdとは関係ありませんが、まだ機能していない場合は、コアダンプ調整をオフにする必要があります。

# ulimit -c unlimited

また、作業ディレクトリに書き込むことができることを確認します。

答え2

カーネル設定はまたはによって/proc/sys/管理され、sysctl(8)システム設定は上書きされます。ファイル名などを定義します。それらによって書かれていません(カーネルがSUIDバイナリでコアダンプを許可するように設定されていない場合)。書き込みは制御されます。つまり、制限はありません。コアによって制御されるものによって生成されたファイルはログに記録され、一般ユーザーのものは変更されません。/usr/lib/sysctl.d//etc/sysctl.conf/etc/sysctl.d/coreulimit(1)ulimit -c unlimitedsystemd(1)coredumpctl(1)

systemd正しい開始点で実行しsystemd-sysctl.service、変更後に再実行を処理するだけです。sysctl

関連情報