Linux でカーネルクラッシュダンプが設定されているかどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Linux システム上でカーネルクラッシュダンプメカニズムである kdump が設定されているかどうかを確認する方法を学びます。まず、kdumpctl status コマンドを使用して kdump サービスの現在の状態を確認します。

次に、kdump の主な設定ファイルである /etc/kdump.conf を調べ、その設定を理解します。最後に、/proc/sys/kernel ディレクトリ内のクラッシュ関連の設定を調べ、カーネルのクラッシュダンプ設定をさらに検証します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/SystemInformationandMonitoringGroup -.-> linux/service("Service Managing") subgraph Lab Skills linux/cat -.-> lab-558720{{"Linux でカーネルクラッシュダンプが設定されているかどうかを確認する方法"}} linux/service -.-> lab-558720{{"Linux でカーネルクラッシュダンプが設定されているかどうかを確認する方法"}} end

kdumpctl status で kdump の状態を確認する

このステップでは、kdumpctl コマンドを使用して kdump の状態を確認する方法を学びます。kdump は Linux の機能で、クラッシュダンプメカニズムを提供します。システムがクラッシュすると、kdump はシステムメモリをキャプチャし、それをファイルに保存します。このファイルは、クラッシュの原因をデバッグするために使用できます。

kdumpctl コマンドは、kdump サービスを制御するために使用されます。このコマンドを使って、kdump が現在実行中かつ有効になっているかどうかを確認できます。

ターミナルを開きましょう。デスクトップの左側にある Xfce Terminal アイコンから開くことができます。

次のコマンドを入力し、Enter キーを押します。

kdumpctl status

このコマンドは、kdump サービスの現在の状態を表示します。出力結果から、kdump がロードされているか、アクティブか、有効かどうかがわかります。

以下のような出力が表示されるはずです。

kdump is loaded
kexec: loaded
kdump: active
kdump: enabled

この出力は、kdump がシステム上で適切に設定され、実行中であることを示しています。

異なる出力が表示された場合は、kdump が有効になっていないか、実行されていない可能性があります。この実験では、kdump が有効かつアクティブであることを前提としています。

kdump の状態を理解することは、Linux システムでクラッシュダンプを管理する最初のステップです。

Continue をクリックして次のステップに進みましょう。

cat /etc/kdump.conf で kdump の設定を確認する

このステップでは、kdump の主な設定ファイルである /etc/kdump.conf を調べます。このファイルには、システムクラッシュが発生したときの kdump の動作を制御する設定が含まれています。たとえば、クラッシュダンプを保存する場所や、実行するアクションなどです。

このファイルの内容を表示するために、cat コマンドを使用します。cat コマンドは、ファイルの内容を連結して表示するための基本的な Linux ユーティリティです。

ターミナルが開いていない場合は、開きましょう。

次のコマンドを入力し、Enter キーを押します。

cat /etc/kdump.conf

このコマンドは、/etc/kdump.conf ファイルの全内容をターミナルに表示します。

いくつかの設定オプションの行が表示されます。よく見られるオプションには以下のようなものがあります。

  • path: クラッシュダンプを保存するディレクトリを指定します。
  • core_collector: クラッシュダンプを収集するために使用するプログラムを定義します(例:makedumpfile)。
  • crashkernel: kdump カーネル用に予約するメモリ量を設定します。
  • default: クラッシュダンプが保存された後に実行するデフォルトのアクションを設定します(例:reboot)。

出力の例を以下に示します(正確な内容は若干異なる場合があります)。

## This is a basic kdump configuration file.
#

#path /var/crash

#core_collector makedumpfile -l --message-level 1 -d 31
#core_collector_args -v --message-level 1 -d 31

#crashkernel 128M

#default reboot

# で始まる行はコメントで、システムによって無視されます。これらのコメントは、設定オプションの説明を提供することが多いです。

このファイルを確認することで、システム上の kdump がどのように設定されているかを理解できます。このファイルを変更することで kdump の動作を変更できますが、システム設定ファイルを変更する際は注意が必要です。

Continue をクリックして次のステップに進みましょう。

/proc/sys/kernel のクラッシュ設定を調べる

このステップでは、/proc/sys/kernel ディレクトリ内のクラッシュと kdump に関連するいくつかのカーネルパラメータを調べます。/proc ファイルシステムは、プロセスに関する情報やその他のシステム情報を提供する仮想ファイルシステムです。/proc/sys ディレクトリには、実行時にカーネルパラメータを表示および変更できるファイルが含まれています。

具体的には、クラッシュ動作に関連するファイルを見ていきます。これらのファイルの内容を表示するために、再び cat コマンドを使用します。

ターミナルが開いていない場合は、開きましょう。

まず、panic ファイルを見てみましょう。このファイルは、パニック(深刻で回復不能なエラー)が発生したときのカーネルの動作を制御します。このファイルの値は、パニック発生後にカーネルが再起動するまで待機する秒数を表します。

次のコマンドを入力し、Enter キーを押します。

cat /proc/sys/kernel/panic

出力として、たとえば以下のような単一の数字が表示されます。

0

0 の値は、パニック発生後にカーネルが自動的に再起動しないことを意味します。正の値は、再起動するまでの待機秒数を示します。

次に、panic_on_oops ファイルを見てみましょう。「oops」はパニックよりも深刻度が低いエラーですが、問題を示す可能性があります。このファイルは、「oops」が完全なカーネルパニックを引き起こすかどうかを決定します。

次のコマンドを入力し、Enter キーを押します。

cat /proc/sys/kernel/panic_on_oops

出力として、0 または 1 が表示されます。

1

0 の値は、「oops」がパニックを引き起こさないことを意味します。1 の値は、「oops」がパニックを引き起こすことを意味します。

これらのカーネルパラメータは、システムがエラーにどのように反応するか、および kdump がクラッシュ情報をキャプチャする際にどのように関与するかを理解するために重要です。

Continue をクリックしてこの実験を完了しましょう。

まとめ

この実験では、Linux システム上でカーネルクラッシュダンプメカニズムである kdump が設定されて実行されているかどうかを確認する方法を学びました。まず、kdumpctl status コマンドを使用して kdump サービスの現在の状態を確認し、ロードされているか、アクティブか、有効化されているかを確認しました。これにより、kdump の動作状態を迅速に把握することができます。

状態確認の後、cat コマンドを使用して、kdump の主な設定ファイルである /etc/kdump.conf を調べました。このステップでは、システムクラッシュ時の kdump の動作を制御する具体的な設定、例えばダンプの保存場所やクラッシュ後のアクションなどを確認することができます。このファイルの内容を理解することは、kdump の設定とトラブルシューティングにおいて重要です。