crashkernelパラメーターは、システムクラッシュが発生したときにkdumpサービスがメモリダンプファイルをキャプチャするために、Linuxでメモリの一部を予約するために使用されます。 システム管理者は、ファイルを使用して障害後の分析を実行し、カーネルレベルの問題を迅速に特定して解決できます。 このトピックでは、crashkernelパラメーターを設定する方法について説明します。
オペレーティングシステムの制限
Alibaba Cloud Linux 3
Alibaba Cloud Linux 2
Crashkernelパラメータ
デフォルトでは、crashkernelパラメーターはAlibaba Cloud Linux 2および3のcmdlineで設定されます。
アーキテクチャ | オペレーティングシステム | デフォルト値 |
x86 | Alibaba Cloud Linux 3 | crashkernel=0M-2G:0M、2G-8G:192M、8G-128G:256M、128G-:384M |
Alibaba Cloud Linux 2 | ||
ARM64 | Alibaba Cloud Linux3 | crashkernel=0M-2G:0M、2G-64G:256M、64G-:384M |
crashkernelパラメーターの異なる構文を使用する
次の構文を使用して、特定のオフセットでメモリを確保します。
crashkernel=size[KMG][@offset[KMG]]
例:
crashkernel=256 M @ 32 M
。32 MBから始まる256 MBのメモリが予約されていることを指定します。次の構文を使用して、システムメモリの合計量に基づいてメモリをリセットします。
crashkernel=range1:size1[,range2:size2,...][@offset]
例:
crashkernel=0M-2G:0M,2G-64G:256M,64G-:384M
システムメモリの総量が2 GB以下の場合、メモリは予約されません。
256 システムメモリの総量が2 GBを超え、64 GBを超えない場合、MBのメモリが予約されます。
384 システムメモリの総量が64 GBを超える場合、MBのメモリが予約されます。
次の構文を使用して、ハイメモリ (highmem) またはローメモリ (lowmem) を確保します。
crashkernel=size[KMG],low/high
例:
crashkernel=256 M,high
。これは、256 MBの高メモリ領域を予約することを指定します。
crashkernelパラメーターの変更
crashkernelパラメーターを変更します。
<crashkernel>
をビジネス要件に基づいて特定の値に置き換えます。 例:256M
sudo grubby --update-kernel="/boot/vmlinuz-$(uname -r)" --args="crashkernel=<crashkernel>"
インスタンスを再起動して、変更を有効にします。
警告再起動操作により、インスタンスが短時間停止し、インスタンスで実行されているサービスが中断され、データが失われる可能性があります。 インスタンスを再起動する前に、重要なインスタンスデータをバックアップすることを推奨します。 また、オフピーク時にインスタンスを再起動することを推奨します。
sudo reboot
crashkernelパラメーターが変更された後、予約されたメモリの量を確認します。
sudo kdumpctl showmem
kdumpサービスを使用する
kdumpサービスを使用する前に、システムメモリの総量が2 GBを超えていることを確認してください。
kdumpサービスの状態を確認してください。
sudo systemctl status kdump
kdumpサービスを有効または無効にします。
kdumpサービスを無効にします。
sudo systemctl stop kdump
kdump サービスを有効にします。
sudo systemctl start kdump