配置kdump使用的debug核心

9A發表於2024-05-23

1.背景

在ubuntu 20.04上使用自己編譯的核心配置kdump,發現kdump的記憶體用量特別大,我從1024M開始,每次加128M進行測試,直到1536M才能成功轉儲。這應該和我編譯的核心尺寸有關,/var/lib/kdump目錄下的initrd.img足足有三百多M:

這樣佔用1.5個G的空間確實很浪費。而且這個值還不能過大,比如我配置成2048M的話(虛擬機器分配的是8個G記憶體),系統會有機率起不來,不是出現calltrace就是卡在cloud-init,需要多次嘗試才有可能能進系統。

2.配置方法

  • 修改/var/lib/kdump目錄下軟連結,這個重啟之後就會失效。
  • 使用kdump-config symlinks xxx進行配置,這個一樣,重啟就會失效。
  • 修改/etc/default/kdump-tools配置檔案中的KDUMP_KERNELKDUMP_INITRD,例如:
#KDUMP_KERNEL=/var/lib/kdump/vmlinuz
KDUMP_KERNEL=/boot/vmlinuz-5.4.0-182-generic
#KDUMP_INITRD=/var/lib/kdump/initrd.img
KDUMP_INITRD=/var/lib/kdump/initrd.img-5.4.0-182-generic

重啟之後使用kdump-config檢視:

使用這個核心經測試,kdump的記憶體配置成512M就夠了。

相關文章