15.2. メモリー使用量の設定
kdump のメモリー予約は、システムの起動中に行われます。メモリーサイズは、システムの GRUB (Grand Unified Bootloader) 設定で設定されます。メモリーサイズは、設定ファイルで指定された crashkernel= オプションの値と、システムの物理メモリーのサイズにより異なります。
crashkernel= オプションはさまざまな方法で定義できます。crashkernel= 値を指定するか、auto オプションを設定できます。crashkernel=auto パラメーターは、システムの物理メモリーの合計量に基づいて、メモリーを自動的に予約します。これを設定すると、カーネルは、キャプチャーカーネルに必要な適切な量のメモリーを自動的に予約します。これにより、OOM (Out-of-Memory) エラーの回避に役立ちます。
kdump の自動メモリー割り当ては、システムのハードウェアアーキテクチャーと利用可能なメモリーサイズによって異なります。
たとえば、AMD64 および Intel 64 の場合には、crashkernel=auto パラメーターは、利用可能なメモリーが 1GB を超える場合にのみ機能します。64 ビット ARM アーキテクチャーと IBM Power Systems には、2 GB 以上の使用可能なメモリーが必要です。
システムに、自動割り当ての最小メモリーしきい値より少ないメモリーしかない場合は、手動で予約メモリーの量を設定できます。
前提条件
- システムの root 権限がある。
-
kdump設定とターゲットの要件をすべて満たしている。詳細は、サポートされている kdump の設定とターゲット を参照してください。
手順
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 になります。
予約メモリーのオフセット。
一部のシステムでは、
crashkernelの予約が早い段階で行われるため、特定の固定オフセットでメモリーを予約する必要があります。また、特別な用途のために、さらに多くのメモリーの予約が必要になることもあります。オフセットを定義すると、予約メモリーはそこから開始されます。予約メモリーをオフセットするには、以下の構文を使用します。crashkernel=128M@16Mこの例では、
kdumpは 16 MB (物理アドレス0x01000000) から始まる 128 MB のメモリーを予約します。offset パラメーターを 0 に設定するか、完全に省略すると、kdumpは予約メモリーを自動的にオフセットします。変数のメモリー予約を設定する場合は、この構文を使用することもできます。その場合、オフセットは常に最後に指定されます。以下に例を示します。crashkernel=512M-2G:64M,2G-:128M@16M
crashkernel=オプションをブートローダー設定に適用します。# grubby --update-kernel=ALL --args="crashkernel=<value>"<value>は、前のステップで準備したcrashkernel=オプションの値に置き換えます。