web-dev-qa-db-ja.com

Debianでカーネルクラッシュダンプを有効にするにはどうすればよいですか?

Debian5.0.7マシンでカーネルクラッシュダンプを有効にしたい。カーネルバージョンは2.2.26AMD64です。

これを構成するにはどうすればよいですか?

9
Anandan

また、Debianの kdump-tools パッケージを調べて、必要な起動時の手順のいくつかを自動化することもできます。

手順は大まかに、

  1. Sudo apt-get install kdump-tools
  2. USE_KDUMP=1/etc/default/kdump-toolsに設定します
  3. ブートローダー構成で指定されたカーネルコマンドラインにcrashkernel=128Mを追加します(例:/etc/default/grub)。また、ハードハングを確実にキャッチするためにnmi_watchdog=1を渡すことも問題ありません。
    • 128MBは単なる球場の数字であることに注意してください。カーネルイメージと関連するinitramdiskを収容するのに十分な大きさである必要があります。
    • Initramディスクが大きい場合は、/etc/initramfs-tools/initramfs.confを調整することで縮小できる可能性があります。
  4. ブートローダーの構成が更新されていることを確認します(例:Sudo update-grub
  5. カーネルがで構築されていることを確認してください
    • CONFIG_RELOCATABLE=y
    • CONFIG_KEXEC=y
    • CONFIG_CRASH_DUMP=y
    • CONFIG_DEBUG_INFO=y
  6. リブート
  7. クラッシュカーネルがロードされていることを確認します、cat /sys/kernel/kexec_crash_loaded
  8. オプション:これがすべて機能したことをテストします
    1. Sudo sync; echo c | Sudo tee /proc/sysrq-trigger
    2. crashツールを使用して、結果のクラッシュダンプを確認します
  9. カーネルデバッグでの将来の苦痛を和らげるために、良いウイスキーのハンドルを見つけてください。
7
bgamari

短い答えですが...

カーネルソース(例:cd/usr/src/linux /)に移動し、次のカーネルのオプションを構成します(make menuconfig)。 「プロセッサの種類と機能」に移動します。 「カーネルクラッシュダンプ」を有効にします。 (CONFIG_CRASH_DUMP = y)

新しいカーネルを構築し、インストールします。

次に、これらの背景情報をお読みください: Linux-Crash-HOWTO.pdf および lkcd utils

4
Hennes