樱花客栈

移除内核崩溃转储(kdump)

当Linux内核崩溃时,kdump 会利用预留的一段内存(称为 crash kernel)启动一个最小化的内核环境,从而将故障时的内存数据保存到硬盘。崩溃日志可用于后期故障排查。云主机的内存比较宝贵,如果是一台4G内存的主机,除去KVM的硬件预留,还有内核崩溃转储预留,可能实际available为3.6G左右。如果不需要捕获系统崩溃信息,可以再腾出一些空间。有些云服务器厂商的系统默认配置kdump,也就是说存在云主机运行内存不足额的情况,这边需要手动更新配置。

查看系统当前的内存预留:

sudo dmesg | grep -i memory

修改 /etc/default/grub ,去除crashkernel相关字段:

GRUB_CMDLINE_LINUX=" vga=792 console=tty0 console=ttyS0,115200n8 net.ifnames=0 noibrs nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295 iommu=pt crashkernel=0M-1G:0M,1G-4G:192M,4G-128G:384M,128G-:512M crash_kexec_post_notifiers=1"

改完grub后,需要更新配置:

sudo grub-mkconfig -o /boot/grub/grub.cfg

sudo grub-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg

再次重启主机,内存会释放。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注