Red Hat Training

A Red Hat training course is available for RHEL 8

42.3. コマンドラインで kdump の設定

42.3.1. メモリー使用量の設定

kdump のメモリーは、システムの起動時に予約されます。メモリーサイズは、システムの Grand Unified Bootloader(GRUB)2 設定ファイルで設定されます。メモリーサイズは、設定ファイルに指定された crashkernel= と、システムの物理メモリーのサイズによって異なります。

crashkernel= オプションは、複数の方法で定義できます。crashkernel= 値を指定するか、auto オプションを設定できます。crashkernel=auto 起動オプションは、システムの物理メモリーの合計量に応じてメモリーを自動的に予約します。設定すると、カーネルは kdump カーネルに必要なメモリーの適切な量を自動的に予約します。これにより、Out-of-Memory(OOM)エラーが発生するのを防ぐことができます。

注記

kdump の自動メモリー割り当ては、システムのハードウェアアーキテクチャーと利用可能なメモリーサイズによって異なります。

たとえば、AMD64 および Intel 64 では、crashkernel=auto パラメーターは、利用可能なメモリーが 1GB を超え、64 ビット ARM アーキテクチャーで、IBM Power Systems が 2GB を超えるメモリーを利用可能な場合に限り機能します。

システムの自動割り当てに必要なメモリーしきい値を下回る場合は、予約メモリーを手動で設定できます。

前提条件

  • kdump要件 を満たしている。

手順

  1. root パーミッションで /etc/default/grub ファイルを編集します。
  2. crashkernel= オプションを必要な値に設定します。

    たとえば、128 MB のメモリーを予約するには、以下を使用します。

    crashkernel=128M

    または、インストールされているメモリーの合計量に応じて、予約メモリーサイズを変数に設定できます。変数へのメモリー予約の構文は crashkernel=<range1>:<size1>,<range2>:<size2> です。以下に例を示します。

    crashkernel=512M-2G:64M,2G-:128M

    上記の例では、システムメモリーの合計が 512 MB 以上 2 GB 未満の場合、64 MB のメモリーを予約します。メモリー合計サイズが 2 GB を超える場合は、128 MB が kdump 用に予約されます。

    • 予約済みメモリーのオフセット。

      crashkernel 予約は非常に早いため、特定の固定オフセットでメモリーを予約する必要があるシステムもあります。また、特別な用途にいくつかの領域を予約したいシステムもあります。オフセットが設定されると、予約メモリーはそこから開始されます。予約メモリーをオフセットするには、以下の構文を使用します。

      crashkernel=128M@16M

      上記の例は、kdump が 16 MB (物理アドレス 0x01000000) から始まる 128 MB のメモリーを予約していることを示しています。オフセットパラメーターが 0 に設定されている場合、または完全に省略されている場合、kdump は自動的に予約メモリーをオフセットします。上記のように、変数メモリー予約を設定する場合にもこの構文を使用します。この場合、オフセットは常に最後に指定されます (例: crashkernel=512M-2G:64M,2G-:128 _M@16 _M)。

  3. 以下のコマンドを使用して、GRUB2 設定ファイルを更新します。

    # grub2-mkconfig -o /boot/grub2/grub.cfg
注記

kdump にメモリーを設定する別の方法は、すべてのブートエントリーを更新する grub2-editenv で、kernelopts 変数 に crashkernel=<SOME_VALUE> パラメーターを追加することです。または、grubby ユーティリティーを使用して、単一のエントリーのカーネルコマンドラインパラメーターを更新することもできます。

関連情報