13.2. RHEL 9 での kdump メモリー使用量の設定
kexec-tools
パッケージは、デフォルトの crashkernel=
メモリー予約値を維持します。kdump
サービスはデフォルト値を使用して、各カーネルのクラッシュカーネルメモリーを予約します。デフォルト値は、crashkernel=
値を手動で設定するときに必要なメモリーサイズを見積もるための基準値としても機能します。クラッシュカーネルの最小サイズは、ハードウェアおよびマシンの仕様により異なります。
また、kdump
の自動メモリー割り当ては、システムハードウェアアーキテクチャーと利用可能なメモリーサイズにより異なります。たとえば、AMD および Intel 64 ビットアーキテクチャーでは、crashkernel=
パラメーターのデフォルト値は、使用可能なメモリーが 1 GB を超える場合にのみ機能します。kexec-tools
ユーティリティーは、AMD64 および Intel 64 ビットアーキテクチャーで次のデフォルトのメモリー予約を設定します。
crashkernel=1G-4G:192M,4G-64G:256M,64G:512M
kdumpctl estimate
を実行して、クラッシュをトリガーせずに大まかな見積もり値をクエリーすることもできます。予測される crashkernel=
値は正確でない可能性がありますが、適切な crashkernel=
値を設定するための参照として利用できます。
起動コマンドラインの crashkernel=auto
オプションは、RHEL 9 以降のリリースでは対応しなくなりました。
前提条件
- システムの root 権限がある。
-
kdump
の設定とターゲットの要件をすべて満たしている。詳細は 対応している kdump 設定とターゲット を参照してください。 -
IBM Z システムの場合は、
zipl
ユーティリティーがインストールされている。
手順
クラッシュカーネルのデフォルト値を設定します。
# kdumpctl reset-crashkernel --kernel=ALL
crashkernel=
値を設定する場合は、kdump
を有効にして再起動し、設定をテストします。kdump
カーネルの起動に失敗した場合は、メモリーサイズを徐々に増やして許容可能な値を設定します。カスタムの
crashkernel=
値を使用するには、以下を実行します。必要なメモリー予約を設定します。
crashkernel=192M
あるいは、構文
crashkernel=<range1>:<size1>,<range2>:<size2>
を使用して、予約メモリーの量を、インストールされているメモリーの合計量に応じて変動する値に設定することもできます。以下に例を示します。crashkernel=1G-4G:192M,2G-64G:256M
この例では、システムメモリーの合計量が 1 GB 以上 4 GB 未満の場合、192 MB のメモリーが予約されます。メモリーの合計量が 4 GB を超える場合、256 MB が
kdump
用に予約されます。オプション: 予約メモリーのオフセット。
crashkernel 予約は非常に早いため、特定の固定オフセットでメモリーを予約する必要があるシステムもあります。また、特別な用途にいくつかの領域を予約したいシステムもあります。オフセットが設定されると、予約メモリーはそこから開始されます。予約メモリーをオフセットするには、以下の構文を使用します。
crashkernel=192M@16M
この例では、16 MB (物理アドレス 0x01000000) から始まる 192 MB のメモリーを予約します。オフセットを 0 に設定するか、値を指定しない場合、
kdump
は予約されたメモリーを自動的にオフセットします。オフセットを最後の値として指定することにより、変数メモリー予約を設定するときにメモリーをオフセットすることもできます。たとえば、crashkernel=1G-4G:192M,2G-64G:256M@16M
です。ブートローダー設定を更新します。
# grubby --update-kernel ALL --args "crashkernel=<custom-value>"
<custom-value>
には、クラッシュカーネル用に設定したカスタムのcrashkernel=
値を含める必要があります。
変更を有効にするために再起動します。
# reboot
検証
sysrq
キーをアクティブ化してカーネルをクラッシュさせます。address-YYYY-MM-DD-HH:MM:SS/vmcore
ファイルは、/etc/kdump.conf
ファイルで指定されているターゲットの場所に保存されます。デフォルトのターゲットの場所を選択した場合、vmcore
ファイルは /var/crash/
の下にマウントされたパーティションに保存されます。
kdump
設定をテストするコマンドにより、カーネルがクラッシュし、データが失われます。注意して指示に従い、kdump 設定のテストにアクティブな実稼働システムを使用しないでください。
sysrq
キーをアクティブ化して、kdump
カーネルを起動します。# echo c > /proc/sysrq-trigger
このコマンドによりカーネルがクラッシュし、必要に応じてカーネルが再起動されます。
-
/etc/kdump.conf
ファイルを表示し、ターゲットの保存先にvmcore
ファイルが保存されているかどうかを確認します。
関連情報
- システムを起動する前に、grub で boot パラメーターを手動で変更する
-
grubby(8)
man ページ