kdump
は、Linux のカーネルクラッシュダンプメカニズムです。 カーネルパニックなどのシステムクラッシュ時にメモリをキャプチャし、障害発生後の分析に利用します。 このメカニズムでは、ダンプ情報を保存するために予約メモリ(crashkernel
)が必要です。 Linux サーバーのメモリが限られている場合は、このトピックに従って kdump
を無効にして予約メモリを解放し、メモリ使用率を向上させることができます。
手順
予約メモリを解放してサービスを無効にすると、カーネルクラッシュ情報の収集が停止します。 カーネル関連の問題の特定と修正が困難になり、サーバーの安定性に影響します。 注意して進めてください。
システムが予約しているメモリを表示します。
crashkernel
が有効になっているかどうかを確認します。cat /proc/cmdline
結果に
crashkernel
が含まれている場合は、有効になっています。予約メモリのサイズを表示します。
cat /sys/kernel/kexec_crash_size
出力は次のとおりです。 システム予約メモリのサイズは 201,326,592 B で、192 MiB に相当します。
システム予約メモリを解放し、
kdump
サービスを無効にします。GRand Unified Bootloader (GRUB)
の構成をバックアップします。sudo cp /etc/default/grub /etc/default/grub.bak
crashkernel
構成を削除します。sudo sed -i 's/crashkernel=[^[:space:]]*[[:space:]]*//g' /etc/default/grub
GRUB
構成を更新します。Alibaba Cloud Linux または CentOS
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Ubuntu または Debian
sudo update-grub
kdump
サービスを停止し、自動起動を無効にします。Alibaba Cloud Linux または CentOS
sudo systemctl stop kdump sudo systemctl disable kdump
Ubuntu または Debian
sudo systemctl stop kdump-tools sudo systemctl disable kdump-tools
変更を有効にするため、オペレーティングシステムを再起動します。
sudo reboot
確認します。
kdump
のステータスを表示します。kdump
のステータスがinactive (dead)
であることを確認します。kdump
サービスは実行を停止しています。Alibaba Cloud Linux または CentOS
sudo systemctl status kdump
Ubuntu または Debian
sudo systemctl status kdump-tools
GRUB
構成を表示します。cat /proc/cmdline
crashkernel
構成が表示されない場合は、正常に削除されています。予約メモリのサイズを表示します。
cat /sys/kernel/kexec_crash_size
出力が
0
の場合は、システム予約メモリが解放されています。