配置kdump使用的debug内核
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就够了。