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_KERNEL
和KDUMP_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就夠了。