Kdumpメモリー予約
Kdumpメモリー予約は、カーネル・パニックが発生したときにカーネル・クラッシュ・ダンプを取得および格納するためにシステム・メモリーの一部を予約するLinuxの機能です。 メモリーを予約すると、システムの残りの部分がメモリー不足であっても、Kdumpにはクラッシュに関する重要な情報を収集して保存するための十分な領域が常にあります。
次のコマンドを実行して、Kdump用に予約するメモリー量を見積もります:
sudo kdumpctl estimate出力は、次のようなものです。
Reserved crashkernel: 448M
Recommended crashkernel: 448M
Kernel image size: 54M
Kernel modules size: 28M
Initramfs size: 39M
Runtime reservation: 64M
Large modules:
xfs: 2584576
bluetooth: 1122304
i915: 4186112
cfg80211: 1335296
mac80211: 1507328
kvm: 1400832メモリー予約は、crashkernelカーネル・パラメータを使用して行われます。 デフォルトでは、crashkernelは低メモリーの領域を予約します。 低メモリーは、システムがクラッシュしたときに特定のデバイスによって使用されるメモリー領域です。 この領域のサイズは、デバイスおよびシステム・タイプによって異なります。 高メモリーは、このポイントを超える残りのメモリーです。
crashkernel=size-
最初に、カーネルはリクエストされた容量の低メモリーを検索します。 これが失敗すると、この領域は高メモリーで検索されます。 高メモリーでの予約が成功すると、デフォルトの領域量(arm64システムでは128 MB)を低メモリーに予約しようとします。
crashkernel=size@offset-
指定された「オフセット」に「サイズ」メモリーを予約するか、すでに占有されている場合は失敗します。
crashkernel=size,high crashkernel=size,low-
高メモリーと低メモリーの両方からメモリーを予約します。 カーネルはまず、高メモリーに必要なメモリー量を検索します。 予約が高メモリーで成功した場合、カーネルは
crashkernel=size,lowで指定された低メモリーの量を予約しようとします。 高メモリーからの予約が失敗した場合、カーネルは、crashkernel=size,highで指定されたメモリー量を低メモリーで検索します。crashkernel=0,lowを設定すると、低メモリー割当てが無効になります。
重要:
aarch64システムでのメモリー予約。
低メモリーでのKdump予約は、aarch64システムで問題が発生する可能性があります。 crashkernel=size,high crashkernel=size,lowオプションを使用して、aarch64システムの高メモリーでの予約を優先することをお薦めします。
次のコマンドを実行すると、grub.confを推奨のcrashkernel予約サイズで自動的に更新できます:
sudo kdumpctl reset-crashkernel