

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
systemd-coredumpとは?
systemd-coredumpは Linuxのinitシステムであるsystemd に組み込まれた機能で、プログラムが落ちたときに発生するコアダンプを自動的に収集・保存・分析できる仕組みです。コアダンプとは、クラッシュしたプログラムが現在のメモリの状態をファイルとして残すものです。開発者が原因を追究するための重要な手がかりになります。
コアダンプとは何か
コアダンプは、プログラムが異常終了した際にメモリ内容や実行状態を含む大きなファイルとして作成されます。これには機密情報が含まれることもあるため、取り扱いには注意が必要です。システム管理者はコアダンプを使って、どの部分でエラーが発生したのかを特定し、修正につなげます。
systemd-coredumpのしくみ
カーネルがコアダンプを生成すると、systemd-coredumpがそれを受け取り、保存先へ格納します。保存先には主に2つの選択肢があり、ジャーナルと外部ファイルです。ジャーナルに保存すると journalctl で検索・閲覧が簡単になります。一方、外部ファイルとして /var/lib/systemd/coredump に保存される場合はファイルとして直接コピー・バックアップがしやすくなります。圧縮も設定次第で有効にでき、ディスク容量を節約できます。
この機能を使うには、coredumpctl という専用ツールを使います。これはコアダンプの一覧表示や詳細情報の取得、デバッグ支援などを行うためのツールです。
使い方の実例
まずは現在のコアダンプの様子を確認します。coredumpctl list を実行すると、保存されているコアダンプの一覧が表示されます。次に特定のコアダンプの詳細を知るには coredumpctl info PID を使います。GDB での解析を行いたい場合は coredumpctl gdb PID を使います。必要に応じてコアダンプをファイルとして出力するには coredumpctl export PID を使います。
| コマンド | 意味 |
|---|---|
| coredumpctl list | 現在保存されているコアダンプの一覧を表示 |
| coredumpctl info PID | 指定したコアダンプの詳細情報を表示 |
| coredumpctl gdb PID | GDBでコアダンプをデバッグ |
| coredumpctl export PID | コアダンプをファイルとしてエクスポート |
設定のポイント
コアダンプの保存方式やサイズは /etc/systemd/coredump.conf で変更できます。よく使われる項目には Storage(外部保存かジャーナル保存か)、Compress(圧縮をするかどうか)、ProcessSizeLimit(個々のプロセスごとに扱うデータ量の上限)などがあります。設定によってディスクの使用量や分析のしやすさが大きく変わるため、運用方針に合わせて適切に設定しましょう。
セキュリティ面にも注意が必要です。コアダンプには機密情報が含まれる場合があるため、公開環境では不要なコアダンプを保存しない設定にする、保存先の権限を適切に管理する、バックアップ時には取り扱い方を統一する、などの対策が推奨されます。
よくあるトラブルと対処
コアダンプが作成されない場合は、 kernelのコアパターン設定や systemd-coredumpの有効化状況、Storage設定の見直しを行います。core_pattern の設定が正しく機能していないと、コアダンプが生成されず記録もされません。設定後は systemctl restart systemd-coredump を実行してサービスを再起動してください。
まとめ
systemd-coredumpは、クラッシュ時の原因分析をサポートする強力なツールです。適切な保存先と設定を選ぶことで、デバッグ作業の手間を大幅に削減できます。初心者の方はまず coredumpctl の基本コマンドから慣れ、コアダンプの扱い方と機密情報の扱いについて理解を深めると良いでしょう。
systemd-coredumpの同意語
- systemd-coredump
- systemdが提供するコアダンプの収集・保存・整理を行う機能で、アプリケーションがクラッシュした際に発生するコアファイルを自動的に扱います。
- systemdのコアダンプ収集機能
- systemdがクラッシュ時のコアダンプを捕捉して保存・管理する機能の総称。保存場所やファイル名、圧縮といった挙動を設定で調整できます。
- コアダンプ収集サービス
- クラッシュ時に生成されるコアダンプを自動で収集・格納・必要に応じて削除する、systemdの機能を指す表現です。
- コアダンプ処理機能
- コアダンプを受け取り、格納・削除・後処理を行う機能の総称。systemd-coredumpの役割を言い換えた表現として使われます。
- コアダンプ管理機能
- コアダンプの保存先・ライフサイクル・権限などを管理する機能のこと。systemd-coredumpの管理的側面を表します。
- コアダンプハンドラ
- コアダンプを受け取って処理を開始する役割を担うモジュール・部品。初心者には“コアダンプを扱う部分”という理解でOKです。
- コアダンプ収集モジュール
- コアダンプを収集する処理を担う独立したモジュール。システム内でコアファイルを集約する機能の一部です。
- クラッシュダンプ収集機能
- アプリケーションのクラッシュ時に発生するダンプ情報(コアダンプ)を自動で収集する機能の総称。systemd-coredumpと同様の概念を指します。
systemd-coredumpの対義語・反対語
- コアダンプ無効化
- クラッシュ時にコアファイルを作成しないようにする設定。systemd-coredumpの機能を使わず、コアダンプの生成を完全に抑制する状態。
- コアダンプ抑制
- コアファイルの生成を技術的に抑える運用・設定。生成を意図的に最小化・制限する中間的な対策。
- コアダンプ禁止
- コアファイルの作成を禁止するポリシー。ulimit -c 0 などの設定でコアダンプの出力をブロックすることを指す。
- コアファイル生成なし
- クラッシュ時にコアファイルが作成されない状態。コアダンプそのものの生成を回避する表現。
- コアダンプ収集停止
- systemd-coredumpがコアダンプを収集・保管する機能を停止する状態。
- コアダンプ自動削除
- 生成されたコアファイルを自動的に削除する設定。保管せずにすぐ消える運用方針。
- コアダンプ拒否
- システムがコアファイルを生成・保存する要求を受け付けない状態。
- クラッシュダンプ非収集モード
- クラッシュ時のダンプ(コアダンプ)を収集しないモード。
systemd-coredumpの共起語
- systemd
- Linuxのinit・サービスマネージャ。systemd-coredumpはsystemdの一部で、クラッシュ時のコアダンプを収集・整理します。
- systemd-coredump
- systemdのコアダンプ処理機能。プロセスが異常終了した際のコアファイルを収集・保存・表示する仕組みです。
- coredump
- プログラムが致命的に落ちたときに生成されるコアファイル。デバッグの手掛かりとして使われます。
- core dump
- コアダンプの別表現。文章中で“コアダンプ”と表現する際に使われる語句です。
- coredumpctl
- systemd-coredumpのコマンドラインツール。ダンプの一覧表示・詳細確認・保存・抽出などが行えます。
- journalctl
- systemdのジャーナルログを閲覧・検索するコマンド。コアダンプに関するイベントや関連ログを確認できます。
- /var/lib/systemd/coredump
- systemd-coredumpがデフォルトでコアダンプを格納するディレクトリです。後で分析に使用します。
- core_pattern
- カーネルがコアダンプを出力する先や処理方法を決める設定パターンです。
- /proc/sys/kernel/core_pattern
- カーネルの現在のcore_pattern設定を格納しているファイルパスです。コア出力の動作を調整します。
- ulimit -c
- シェル・プロセスごとのコアファイルサイズの上限設定。unlimitedにするとコアダンプを作成します。
- コアファイルサイズの制限
- コアファイルの最大サイズの制限。小さすぎるとコアダンプの中身が欠損します。
- ELFコアダンプ
- コアファイルは通常ELF形式で格納され、デバッグツールで解析可能です。
- デバッグシンボル
- デバッグ作業に必要なシンボル情報。コアダンプの解析を正確に行うために重要です。
- クラッシュレポート
- プログラムがクラッシュした際の詳細情報。systemd-coredumpと組み合わせて活用されます。
- バックトレース / スタックトレース
- コアダンプから得られる関数呼び出し履歴。デバッグの手掛かりとして役立ちます。
systemd-coredumpの関連用語
- systemd-coredump
- systemd が管理するコアダンプの受信・保管・後処理を行うデーモン。クラッシュしたプロセスのメモリイメージを収集し、後からデバッグできるよう保存します。
- コアダンプ
- クラッシュしたプロセスのメモリ内容を記録したファイル。デバッグ作業の出発点となる重要なデータです。
- core_pattern
- カーネルの core_pattern はコアダンプの出力先を決める設定で、systemd-coredump へパイプで渡す形にも設定できます。
- coredumpctl
- systemd-coredump が管理するコアダンプを表示・抽出・分析するためのコマンドです。
- /var/lib/systemd/coredump
- external で保存されるコアダンプの実体が格納されるディレクトリ。ファイル名は設定次第です。
- systemd-journald
- systemd のジャーナルデーモン。Storage=journal の場合、コアダンプのメタ情報や関連データをジャーナルに記録します。
- coredump.conf
- systemd-coredump の設定ファイル /etc/systemd/coredump.conf。ストレージ先・圧縮設定・ヒント値などを指定します。
- Storage
- core ダンプの保存先を決定する設定項目。external(ファイルとして保存)、journal(ジャーナルへ記録)、あるいは両方を選択できます。
- CompressCore
- コアダンプを圧縮して保存する設定。ディスク容量を節約するのに役立ちます。
- ProcessSizeHint
- systemd-coredump に対して対象プロセスの推定メモリサイズを伝えるヒント。処理の最適化に使われます。
- RLIMIT_CORE
- 各プロセスに適用されるコアファイルのサイズ制限。0 ならコアダンプは生成されません。
- ulimit -c
- シェルやプロセスのコアサイズの上限を設定するコマンド。RLIMIT_CORE に影響します。
- GDB
- GNU Debugger。コアダンプを使ってデバッグする際の代表的なツールです。
- kernel/core_pattern
- カーネルの core_pattern 設定。コアダンプの出力先を細かく制御します。例として、|/usr/lib/systemd/systemd-coredump へ渡す形式があります。



















